⭐⭐⭐Java基础篇目录⭐⭐⭐
🍁 第一章 Java开发环境搭建
🍁 第二章 标识符与关键字
🍁 第三章 变量
🍁 第四章 数据类型
🍁 第五章 运算符
🍁 第六章 控制语句
🍁 第七章 方法
🍁 第八章 认识面向对象
🍁 第九章 对象的创建和使用
🍁 第十章 封装
🍁 第十一章 this和static
🍁 第十二章 继承
🍁 第十三章 方法的覆盖和多态
🍁 第十四章 super
😉
1、创建对象对应的JVM内存
- 凡是通过new运算符创建的对象,都存储在堆内存中。new的作用即在堆内存中开辟中一个空间。
- 堆内存中存储对象以及对象的实例变量(属性)
- 对象Student1在堆内存中的地址赋给局部变量s1,像变量s1这种,保存了对象在堆内存中地址的变量即引用
2、成员变量(实例变量)的访问
实例变量的访问:引用.实例变量名
通过赋值的方式,修改实例变量的值,即引用.实例变量名=values;
3、对象和引用的区分
- 对象是new出来的,在堆内存中保存
- 引用就是个变量,也有他自己的地址。特殊的是这个变量保存了内存地址,且这个地址指向堆内存中的对象
小练习:
//片段
Address a = new Address();
a.city = "天津";
a.code = 123456;
a.street = "渤海";
User u = new User();
//引用数据类型变量的初始化,将Address a的值复制一份给addr,就像int a=1; int b=a;
u.addr = a;
//访问引用数据类型属性内部的属性
System.out.println(u.addr.city);
对象的某个实例变量(属性)是引用数据类型,初始化是赋一个引用。
4、属性是引用类型
5、空指针异常
经典异常—-NullPointerException
当引用的变量等于null时,即空引用访问对象的属性时发生NullPointerException
引用置空时,原先引用中存的地址被覆盖为null,不再指向堆内存中的对象。把对象比喻成一个气球,引用就是牵着气球的线,引用置为null,就是这根线断了,此时堆内存中的这个对象只能等GC垃圾回收机制将它回收释放。
不同于第一个例子中的i,例二中的p虽然也是两个不同的局部变量,但其因值都一样,所以指向的堆内存是同一块,值被改了以后访问到的都是改完以后的值。
6、构造方法
- 构造方法是一个特殊的方法,通过构造方法,可以实现对象的创建,以及实例变量的初始化。
- 当一个类中仅有实例变量,没有定义任何构造方法的时候,默认提供一个无参构造方法–称缺省构造器
😉
- 构造方法的定义:
[修饰符列表] 构造方法名(形参列表){
构造方法体;
}
- 修饰符列表目前写public
- 构造方法名和类名必须一致
- 构造方法不需要写返回值类型,void也不用,写了就成普通方法了
- 通常在构造方法方法体中给属性赋值,完成初始化操作
- 注意!!!
当我们自己定义了一个构造方法后,之前默认给的无参构造方法就没了。
//之前的创建对象
Student s1 = new Student();
Student()实际是个构造方法。
调用构造方法,通过new运算符来调用。
可以直接new student();编译也无error,但相当于造了一个没栓线的气球,无意义。
😉
同一个类的多个构造方法之间是重载的关系,调用时根据参数来区分是用哪个构造方法。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/146124.html