继承都是先对父类进行实例化,之后再对子类进行初始化.
1.子类可以继承父类,但不是所有的成员属性都是可以调用的,比如private和构造方法...对于静态成员属性或者方法, 直接可以用 父类.属性 或者 父类.方法,
2.利用super.属性值,调用父类属性或者方法.
3.利用子类构造方法,建立起对父类进行构造,给父类的属性立刻初始化.
创建子类,进行实例化的时候,默认调用父类的无参构造函数,需要用到super();加入参数来调用带参数的父类构造方法.
class Son extends Father{ public son(String name){ super(name);//调用父类指定的带参数构造函数 } }
4.super关键字在调用父类构造函数时,一定要放在最前面..this()和super()不能同时存在一个构造函数中调用其他构造函数,因为二者都是需要排在第一
5.super关键字与this关键字的区别:
1. 代表的事物不一致。
1. super关键字代表的是父类空间的引用。
2. this关键字代表的是所属函数的调用者对象。
2. 使用前提不一致。
1. super关键字必须要有继承关系才能使用。
2. this关键字不需要存在继承关系也可使用。
3. 调用构造函数的区别:
1. super关键字是调用父类的构造函数。
2. this关键字是调用本类的构造函数。
6.当父类是存在有参数的构造方法,从而父类无参构造方法没有了.而此刻如果子类是无参构造方法,那么子类就无法调用父类无参的构造方法,就会报错,说父类没有无参构造方法.
7.方法的重写是存在继承的关系,重写的参数是一样的!而方法的重载是在一个类中,传入不同参数而让方法重载..方法重写的时候,
方法重写:
子类的权限符号必须大于或者等于父类...//记忆子类的成就必须大于父类的成就
子类的返回值类型的范围要小于或者等于父类的返回值类型
子类的抛出的异常类型要小于或者等于父类的异常类型
方法重载的要求:
函数名要一致
形参列表不一致,(形参的个数,或形参的类型不一致)
与返回值类型无关
8.instanceof关键字的作用:判断一个对象是否属于指定的类别。
instanceof关键字的使用前提:判断的对象与指定的类别必须要存在继承或者实现的关系。
反过来就是false了.
instanceof关键字的作用: 目前没用。但是后天我们学习 到了多态之后就非常有用。
一般我们做强制类型转换之前都会使用该关键字先判断一把,然后在进行转换的。