封装
属性私有 get,set
继承
java中只有单继承,没有多继承
this指向当前类,super指向父类
私有的东西无法继承
-
super注意点:super调用父类的构造方法,必须在构造方法的第一个
super必须只能出现在子类的方法或者构造方法中
super和this不能同时调用构造方法
Vs this:
代表的对象不同:
this:本身调用者这个对象
super:代表父类对象的应用
前提:
this:没有继承也可以使用
super:只能在继承条件下可以使用
构造方法:
this();本类的构造
super():父类的构造
方法的重写
重写都是方法的重写,与属性无关
-
需要有继承关系,子类重写父类的方法
-
方法名必须相同
-
参数列表必须相同
-
修饰符: 范围可以扩大但不可以缩小 public>protected>defult>private
-
抛出的异常: 范围可以缩小但不能扩大: ClassNotFoundException--->Exception(大)
-
重写子类的方法和父类必须一致,方法体不同
-
重写的原因:父类的功能,子类不一定需要或不一定满足
多态
-
一个对象的实际类型是确定的, 可以指向的引用类型就不确定
-
编译看左,运行看右
-
子类重写了父类的方法,就执行子类的方法
-
多态是方法的多态,属性没有多态
-
父类和子类,有联系,类型转换异常!ClassCastException
-
存在条件:继承关系,方法需要重写,父类引用指向子类对象
-
不能够重写的:
static 方法,属于类,它不属于实例
final 常量池
private 方法
instanceof
-
父类引用指向子类的对象
-
把子类转换为父类,向上转型
-
把父类转换成子类,强制转换
-
方便方法的调用,减少重复的代码
Person S1 = new Student(); ((Student)S1).go();
Static
Static是跟着类一起加载到内存中的
static只执行一次
final断子绝孙是常量修饰符
抽象类
-
抽象类的所有方法,继承了它的子类,都必须要实现,在子类中方法要重写
-
类是单继承,接口是多继承
-
不能new抽象类,只能靠子类去实现它 约束!
4.抽象的方法必须在抽象类中,抽象类中可以写普通的方法
接口(interface)
-
接口中的所有定义其实都是抽象的 public abstract
-
类 可以实现接口 implements 接口
-
实现了接口的类,就必须重写接口中的方法
-
接口不能被实例化,接口中没有构造方法
-
public static final
N类
-
一个java类中可以有多个class类,但只能有一个public class
-
-
-