对象创建的流程分析
class Person {
int age = 90;
String name;
Person(String n, int a) {
name = n;
age = a;
}
}
Person p = new Person("小倩", 20);
1. 加载类信息(Person.class 只会加载一次)
2. 在堆中分配空间(地址)
3. 完成对象初始化
3.1 默认初始化age = 0 name = null
3.2 显式初始化 age = 90 name = null
3.3 构造器初始化 age = 20 name = "小倩"
4. 对象在堆中的地址 返回给 p(p是对象名 也可以理解对象的引用)
this关键字
课程截图,比较容易理解
哪个对象调用,this就代表哪个对象
注意事项:
1. this 关键字可以用来访问本类的属性、方法、构造器
2. this 用来区分当前类的属性和局部变量
3. 访问成员方法的语法:this.方法名(参数列表)
4. 访问构造器方法:this(参数列表)必须放在第一条语句 只能在构造器中使用
5. this 不能在类定义的外部使用,只能在类定义的方法中使用
考虑健壮性的问题
数组获得最大值,如果有返回最大值,如果数组长度为0或数组为空呢?
定义方法时用Double(注意不是double)
if(arr != null && arr.lenth != 0)时return max; 否则return null;
开始做简单练习题~
new Person()为匿名对象,前面没有指向,用后即销毁
本章结束:)
====================================================================