1. 成员变量和局部变量的区别 :
a) 定义位置的区别 :
i. 成员变量是定义在方法之外, 类之内
ii. 局部变量是定义方法之内
b) 作用上的区别
i. 成员变量的作用是描述一类事物的公共属性
ii. 提供一个变量给方法使用
c) 生命周期的区别 :
i. 成员变量, 随着对象的创建而存在, 随着对象被回收而消失
ii. 局部变量, 局部变量会在方法执行完毕后就会消失
d) 初始化的区别 :
i. 成员变量都有自己的默认值 :
1. int 0;
2. boolean false
3. char ‘’
4. double 0.0
5. float 0.0f
6. reference-type null
ii. 局部变量必须初始化之后才能使用
2. 成员变量和局部变量允许同名的情况, 在方法中使用同名的变量, 默认是访问局部变量, 采取了 就近原则 的机制访问
3. 匿名对象 : 直接使用new关键字没有引用变量指向, 一般使用匿名对象都只使用一次、所以不建议对匿名对象赋值, 因为匿名对象只会使用一次
4. 权限修饰符 :
a) public(公共的) : public修饰符修饰的变量任何人都可以访问
b) private(私有的) : private修饰符修饰的成员变量, 那么仅可以在本类中使用
c) protected(受保护的) : protected修饰符修饰的成员变量只能在同一个包目录下使用
5. 封装 :
a) 如果封装一个类 :
将一个实体类的所有成员属性的访问修饰符改成private,然后提供相应的get和set方法.
b) 封装的好处 :
提高了数据的安全, 隐藏了实现, 操作简单
6.构造方法 :
a) 构造方法的定义
[修饰符] 函数名([参数类型 参数名]){
//初始化的内容
}
b) 构造方法的注意事项 :
i. 构造方法没有返回值类型
ii. 构造方法的函数名必须要与类名一致
iii. 构造方法是在创建对象的时候调用, 不需要我们手动去调用, 由JVM调用
iv. 构造方法是可以重载的
v. 如果在定义一个类的时候, 没有显式的定义构造方法的话,那么java编译器会为该添加一个无参的构造方法. 如果已经显式的定义了一个构造方法, 那么Java编译器就不会为其添加无参的构造方法, 该构造方法的访问修饰符定义时该类的访问修饰符一样
6. 每次创建一个对象的时候, JVM都会调用对应参数的构造方法,为该对象初始化
7. 构造方法和普通方法的区别 :
a) 构造方法是没有返回值的
b) 构造方法的名字必须与类名完全一致, 而方法名只要按照标识符命名规则即可
c) 构造方法的作用是完成创建对象时的初始化功能, 而方法是完成某个功能的
d) 构造方法在创建对象的时候只会被JVM执行一次, 而方法会被多次调用
8. 构造方法块 :
a) 给该类的所有对象进行统一的初始化
b) 创建任意对象构造代码块都会执行
c) 构造代码块格式 :
{
//待执行的代码;
}
9. 代码块位于方法中时, 我们称为局部代码块, 局部代码块的作用是缩短局部变量的生命周期
10. 构造方法的执行顺序 :
a) 声明变量的代码永远会放在最开始的位置
b) 对成员变量的赋值以及构造代码块所有代码都会移到构造方法中执行
c) 构造方法的所有代码都是最后执行的
11. 赋值的先后顺序:
a) 构造代码块的代码与成员变量赋值的代码执行顺序是按照代码的先后顺序执行的