面向对象的3大特点:封装, 继承, 多态
1.封装将属性私有化private,封装在类的内部,对外提供public 的get set方法供外部调用
好处:在类内部对参数做一些限制,防止非法的调用
2.继承
使用extends关键字,继承父类的属性和方法,不继承构造方法
没有显式写extends时,默认是从 object继承的
每个类只能有一个父类,但是可以有多层继承
子类除了有父类的属性和方法,子类也有自己的属性和方法
3.重写与重载的不同
重写:override 子类重写父类同名的方法
重载:overload
4.多态
子类的对象可以当作父类的对象类使用
5.抽象类 abstract修饰
有抽象方法的类是抽象类,抽象方法只是声明没有实现
抽象类中既有抽象方法,又可以有普通方法
抽象方法不能实例化。无法new一个对象
抽象类主要是为了被继承,子类必须实现里面的抽象方法。如果子类不实现抽象方法,子类也只能定义成抽象类
6.接口 interface
接口中的方法都是抽象方法,没有普通方法。方法默认都是public abstract修饰的
接口中的成员变量,都是常量。默认是用public static final 修饰的
接口采用多继承机制,一个类可以实现多个接口
接口中不能有构造方法
7.final关键字
修饰类:类不能被继承
修饰方法:不能被子类重写
修饰成员变量:只能被赋值一次,不能修改
修饰局部变量:只能被赋值一次,不能修改
8.static静态
修饰成员变量
修饰方法
没有static:用 实例.变量名 调用
有:类名.变量
9.包
public可以被其他类访问
protected(修饰方法 变量)被子类以及子类的子类访问
private(修饰成员变量 方法)限制了只能在类内部访问
不写 (修饰类方法变量)在当前包生效
类同名时: 包.类名
|