首页 > 编程语言 >java类和对象学习总结

java类和对象学习总结

时间:2023-07-10 18:32:55浏览次数:44  
标签:总结 java 构造方法 对象 成员 静态 引用 方法

当一个引用 赋值为null 的时候,就代表这个引用不指向任何的对象

引用不能指向引用,只能说引用指向了另一个引用的对象.

一个引用不能指向多个对象

this引用的学习:

代表的是当前对象的引用,每一个成员方法的第一个参数默认是this

this.year 

this.month     加上this代表给当前的对象的属性赋值

this还有两种用法

this 访问构造方法

this访问成员方法

什么是构造方法?

构造方法非常特殊:这个方法没有返回值,方法名和类名是一样的!

如果你没有写任何的构造方法,此时java就会帮我们提供一个默认的,不带参数的构造方法!

而如果自己写了就会调用自己的,只会被调用一次

Test test = new Test();

这是实例化对象,此时就会调用对象的构造方法

当然另外设计构造方法可以添加参数构成方法的重载

如何当前对象的其他构造方法

java类和对象学习总结_成员方法

利用this(加参数);

1.必须放到第一行

2.且只有在构造方法内部才能用

this.x :访问当前对象的成员变量

this.fun() 访问当前对象的成员方法

this() 调用当前函数的其他构造方法

补充this不能调用静态的成员方法和属性


成员变量的生命周期 对象出生 ------>对象销毁就结束

局部变量              进入方法创建 ------->出方法结束

面向对象有三大特性: 封装    继承   多态

什么是封装

封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外提供一些交互的接口和对象进行交互

访问修饰限定符

private     只能在当前类使用

default(什么都不加)   包访问权限

protected

public  都能使用

成员方法

1.静态成员方法/类方法

2.非静态成员方法

成员变量:

1.静态成员变量/类变量或者类成员

2.非静态成员变量/普通成员变量  静态成员不属于对象,所以不用通过对象的引用来访问,直接用类名就可以访问

普通成员方法内部可以使用静态成员方法的

在静态方法内部不能直接使用非静态的数据成员,只要是非静态的数据成员都需要进行对象的引用才能调用

静态的方法里面是不能使用this的

对于静态成员的初始化

1.直接赋值

public static String name = "小白";

2.默认初始化

3.通过get 和 set方法来初始化

public static int getsize() {
 return size;
}
public static void setSize(int size) {
  Student.size = size;
}

4.在构造对象是,可以在构造方法中进行赋值 (一般不推荐)

5.通过代码块进行赋值

普通代码块

构造块/非静态代码块/实例代码块

静态块

同步代码块

执行顺序

1.如果都是非静态,那么看定义的顺序谁在后,就是那个值

2.优先级

静态代码块>非静态代码块>不带参数的构造方法

静态的只执行一次

标签:总结,java,构造方法,对象,成员,静态,引用,方法
From: https://blog.51cto.com/u_16166203/6679360

相关文章

  • JavaScript加密:常见加密种类、优缺点和代码示例
    当涉及到JavaScript加密时,有多种加密算法和技术可供选择。下面我将列举一些常见的加密种类、它们的优缺点,并提供一些代码案例作为参考。对称加密算法:对称加密算法使用相同的密钥进行加密和解密。常见的对称加密算法包括AES(AdvancedEncryptionStandard)和DES(DataEncryptionS......
  • Java实现浏览器端大文件分片上传实例
    ​ 上周遇到这样一个问题,客户上传高清视频(1G以上)的时候上传失败。一开始以为是session过期或者文件大小受系统限制,导致的错误。查看了系统的配置文件没有看到文件大小限制,web.xml中seesiontimeout是30,我把它改成了120。但还是不行,有时候10分钟就崩了。同事说,可能是客户这里......
  • 面试进阶齐飞!Github一天万赞的阿里Java系统性能优化有多牛?
    前两天在知乎上看到一个问答,说的是:一个Java程序员具备什么样的素质和能力才可以称得上高级工程师?这个问题也引发了我的一些思考,可能很多人会说,“作为高级工程师,基础得过硬、得熟练掌握一门编程语言、至少看过一个优秀开源项目的源代码、有过高并发/性能优化的工作经验、沟通能力......
  • java判断json格式的方法
    ​  在Java中,您可以使用不同的库来检查和验证JSON。以下是使用两个常用的JSON库(Jackson和Gson)来检查JSON的示例代码:使用Jackson库:importcom.fasterxml.jackson.core.JsonParseException;importcom.fasterxml.jackson.databind.JsonNode;importcom.fasterxml.jack......
  • java判断json格式的方法
    ​   在Java中,您可以使用不同的库来检查和验证JSON。以下是使用两个常用的JSON库(Jackson和Gson)来检查JSON的示例代码:使用Jackson库:importcom.fasterxml.jackson.core.JsonParseException;importcom.fasterxml.jackson.databind.JsonNode;importcom.fasterxml.ja......
  • Dots 开荒-在Entity中使用托管对象
    预制体转换成Entity后,如何或者预制体上的粒子系统或其他引用类型组件成了一大问题Unity在1.0之后的版本中推出了 Managedcomponents托管组件|实体|1.0.11(unity3d.com)  这允许在Entity上挂载引用类型组件,算是Dots的一次妥协,扩展了实用性,降低了性能查找一个Entity上......
  • 七月十日Java学习
    今天学习了如何循环的具体使用,并学习了如何生成一定范围的随机数。    ......
  • M1芯片Macbookpro 卸载 Java jdk
    M1芯片Macbookpro卸载Javajdk1.进入目录查看jdk环境cd/Library/Java/JavaVirtualMachinesls2.删除jdksudorm-rf/Library/Java/JavaVirtualMachines/jdk环境sudorm-rf/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdksudorm-rf/Library/Java/JavaVir......
  • 第三周第二天进度总结
    2023年7月10日,今天我Java基础学到了P37-switch结构,Javaweb学到了P27-CSS的选择器-类选择器。复习了上周学习的内容,加强巩固。今日任务都完成了,我还意外的赚到了80块钱,原因是自己游泳时,顺带教了一个不太会游泳的小孩子游泳,小孩学的很快,他妈妈看到就很高兴,然后就给我钱了。我也没想......
  • Java 中怎样将 bytes 转换为 long 类型?
     将bytes转换为long类型:第一种方式:String接收bytes的构造器转成String,再Long.parseLong;但此种情况需要注意:字节数组中的每个字节都必须是有效的数字字符。如果字节数组包含非数字字符,则会引发NumberFormatException异常。确保在调用Long.parseLong......