对象,引用和构造方法
【摘要】 变量必须先声明,在赋值才能访问。注意:对于成员变量来说,没有手动赋值时,系统默认赋值。引用数据类型默认值为:nullnull是一个java关键字,全部小写,表示空,是引用数据类型的默认值。 成员变量可以说是实例变量。实例变量是对象级别的变量。不能通过类名来直接访问实例变量。new对象的变量也叫作引用 访问变量的语法:引用.变量名 对象和引用的区别?对象:通过new出来的,在堆内存存储。引用:...
变量必须先声明,在赋值才能访问。
注意:对于成员变量来说,没有手动赋值时,系统默认赋值。
引用数据类型默认值为:null
null是一个java关键字,全部小写,表示空,是引用数据类型的默认值。
成员变量可以说是实例变量。
实例变量是对象级别的变量。
不能通过类名来直接访问实例变量。
new对象的变量也叫作引用
访问变量的语法:
引用.变量名
对象和引用的区别?
对象:通过new出来的,在堆内存存储。
引用:但凡是变量,并且该变量中保存了内存地址指向了堆内存的对象。
- 成员变量必须通过创建对象的方式进行访问
- 引用不一定是局部变量
- 给对象设置空值,编译不会出现问题,运行会报错(空指针异常)
- 你的对象被JVM判定为垃圾回收了。
- 创建新对象的时候,必须赋值,不然那就是空值。
问题:java中的垃圾回收器GC主要针对回收的是堆内存当中的垃圾数据,那么什么时候会被垃圾回收呢?
答:没有任何引用指向该对象的时候。
java中规定:
参数传递的时候,和类型无关,不管是基本数据类型还是引用数据类型,统一都是将盒子中保存的那个值赋值一份,传递下去。传递后,本方法的值不变。参数传递的时候,一定是将盒子中的东西复制一份传递过去,内存地址也是值,也是盒子中保存的一个东西。方法的参数可以是基本数据类型,也可以是引用数据类型,只要是合法的数据类型就行。
问题:程序在什么情况下会出现空指针异常呢?
答:空引用 访问对象相关的数据时,会出现空指针异常
- 构造方法:
- 什么是构造方法?有什么用?
- 构造方法是一个比较特殊的方法,通过构造方法可以完成对象的创建,以及实例变量的初始化。
- 换句话说:构造方法是用来创建对象,并且同时给对象的属性赋值。(实例变量没有手动赋值的时候,系统会赋默认值)
- 当一个类没有提供任何构造方法,系统会默认提供一个无参数的构造方法。
- 而这个构造方法被称为缺省构造器
构造方法怎么调用呢?
使用new运算符来调用构造方法
构造方法的语法结构是:
修饰符列表 构造方法名(形式参数列表){
构造方法体;
}
- 注意:
- 1.修饰符列表目前统一写:public 千万不要写:public static
- 2.构造方法名和类名必须一致。
- 3.构造方法不需要指定返回值类型,也不能写void,写上void表示普通方法,就不是构造方法了。
- 构造方法的注意事项:
- 当一个类中没有提供任何构造方法,系统默认提供一个无参数的构造方法。这个无参数的构造方法叫做缺省构造器。
- 当一个类中手动的提供了构造方法,那么系统将不再提供无参数的构造方法。
- 无参数的构造方法和有参数的构造方法都可以调用。
- 构造方法支持方法重载吗?
- 构造方法是支持方法重载的。
- 在一个类当中构造方法可以有多个。
- 并且所有的构造方法名字都是一样的。
方法重载特点:
在同一个类中,方法名相同,参数列表不同。
- 实例变量是在构造方法执行的过程中完成初始化的,完成赋值的。
- 手动定义有参数的构造方法,无参数构造方法将消失。
- 调用不同的构造方法需要创建不同的对象。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)