封装:属性设置为private的,封装在类的内部,对外提供public的get/set方法供外部调用。
好处:在类的内部对参数做一些限制,防止非法调用。
在类的外部可以访问到属性。
封装后的,getter setter 可以用IDE自动生成:右键Generate
继承:使用extends关键字,继承父类的属性和方法,不继承构造结构
没有显式写extends时,默认是从Object继承的
每个类只能有一个父类,但是可以有多层继承,比如一个类由一个父类、祖父类、曾祖父类...
子类除了继承父类的属性和方法,也可以有自己的属性和方法。
重写Override、重载OverLood的差别:
重写:子类重写父类同名的方法
toString() 构造方法 set/get方法
super 超类/父类,调用父类的构造方法
多态:自类的对象可以当做父类来使用
抽象类:abstract 修饰
1.有抽象方法的类是抽象类,抽象方法只有声明,没有实现
2.抽象类中既可以有抽象方法,也可以由普通方法
3.抽象类不能实例化,无法new一个对象
4.抽象类主要是为了被继承,子类必须实现里面的抽象方法,如果子类不是实现抽象方法子类也只能定义抽象方法
抽象方法:只有声明,没有实现
普通方法:声明+实现
接口:interface,特殊的抽象类
1.接口中的方法都是抽象方法,没有普通方法。方法默认都是public abstract修饰的
2.接口中的成员变量,都是常量,默认是用public static final修饰的
final 关键字
修饰类:类不能被继承
修饰方法:不能被子类重写
修饰成员变量:只能被赋值一次,不能修改
修饰局部变量:只能被赋值一次,不能修改
static 静态
修饰成员变量
修饰方法
非静态的成员变量,在景泰方法中不能使用
|