一、继承

◆继承的本质是对某一批类的抽象, 从而实现对现实世界更好的建模。
◆extends的意思是“扩展"。子类是父类的扩展。JAVA中类只有单继承,没有多继承!
◆继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。
◆继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。子类继承父类使用关键字extends
◆子类和父类之间,从意义上讲应该具有"is a"的关系
object类、super、方法重写

二、多态

◆一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多
◆即同一方法可以根据发送对象的不同而采用多种不同的行为方式。
◆多态存在的条件:有继承关系、子类重写父类方法、父类引用指向子类对象
◆注意:多态是方法的多态,属性没有多态性。(instanceof)
快捷键Ctrl+H可以查看当前类的继承关系

super关键字注意点:

        1、super调用父类的构造方法,必须在构造方法的第一个
        2、super必须只能出现在子类的方法或者构造方法中
        3、super和this不能同时调用构造方法

super和this的区别:(代表的对象不同:)

       this:本身调用者这个对象;super:只能在分类对象的应用
前提:this:没用继承也可以使用;super:只能在继承条件才可以使用
构造方法: this():本类的构造;super():父类的构造
学到这里赶快来动手试一试吧!Java开发面试题

Student s1 = new Student();
Person s2 = new Student();//这叫父类的引用指向子类
 
//可以指向的引用类型就不确定了:父类的引用指向子类
Student s1 = new Student();//Student 能调用的方法都是自己的或者继承父类的
Person s2 = new Person();//Person 父类型,可以指向子类,但是不能调用之类独有的方法
Object s3 = new Student();
 
//对象能执行哪些方法,主要看对象左边的类型,看看左边对象的类型里面有没有,和右边关系不大,只要子类从写了父类的方法,当父类在调用已被之类重写的方法时,执行的是子类的方法
 

多态注意事项:

1.多态是方法的多态,属性没有多态
2.父类和子类,有联系,不然会有类型转换异常!ClassCastException
3.存在条件:继承关系,方法需要重写,父类引用指向子类对象!Father f1 = new Son()
    不能重写的方法有:
        1.static 方法,属于类,他不属于实例
        2.final 常量;
        3.private方法;
注:当一个类继承它的父类时,在new它的实例的时候,是他父类的构造函数先执行,子类的构造函数里面第一条语句默认存在super()

三、重写

方法重写:需要有继承关系,子类重写父类的方法
1、重写都是方法的重写,和属性无关
2、重载是本类的,而且方法名一样,参数不一样
3、重写是在父子类关系的才能重写,而且是静态static的方法不能重写,静态的方法和非静态的方法区别很大。
4、重写方法名必须相同、参数列表必须相同、修饰符:范围可以扩大但不能缩小:pulic>protected>default>private、抛出的异常:范围可以缩小,但不能扩大
5、重写,子类的方法和父类的必须一致:方法体不同
为什么需要重写:父类的功能,子类不一定需要,或者不一定满足。 快捷键:Alt+Insert:override;