面向对象三大特性:a) 封装,b) 继承,c) 多态
封装:
a) 定义:将类的某些信息隐藏在类内部,不允许外部程序直接访问,耳失通过该类提供的方法来操作和访问隐藏信息——隐藏属性,通过方法来操作属性
b) 实现:
i. 修改属性可见性——private
ii. 创建getter/setter方法——属性读写
iii. 在以上方法中加入属性控制语句——判断属性值合法性
c) 包:
i. 管理Java文件;解决同名文件冲突;
ii. 定义包:package 包名
1. 源程序的第一行;
2. “.”隔开包名(即D/setup);
iii. 使用:
1. import ****; / import 子目录.*;
2. 命名习惯以全小写字母;
d) 访问修饰符:
i. private——本类
ii. 默认——本类,同包
iii. Protected——本类,同包,子类
iv. Public——本类,同胞,子类,其他
e) this关键字
i. 代表当前对象,eg:this.属性/ this.方法
f) 内部类:定义在类里的类
i. 分类:
1. 成员内部类
a) 先创建外部对象;再创建内部类对象:内部类对象名 = 外部类对象.new 内部类( );
b) 如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字
2. 静态内部类
a) static 修饰的内部类
b) 静态内部类通过 new 外部类().成员 的方式访问外部类的非静态成员
c) 创建静态内部类的对象时,可直接创建:内部类 对象名= new 内部类();
3. 方法内部类
a) 内部类定义在外部类的方法中,方法内部类只在该方法内可以使用
b) 方法内部类不能使用访问控制符和 static 修饰符。
4. 匿名内部类