java中的继承,重写,多态,学习笔记

java中的继承,重写,多态,学习笔记,第1张

java中的继承,重写,多态,学习笔记

 快捷键Ctrl+H可以查看当前类的继承关系

super关键字注意点:

        1、super调用父类的构造方法,必须在构造方法的第一个

        2、super必须只能出现在子类的方法或者构造方法中!

        3、super和this不能同时调用构造方法

super和this的区别:

代表的对象不同:

        this:本身调用者这个对象

        super:只能在分类对象的应用

前提:

        this:没用继承也可以使用

        super:只能在继承条件才可以使用

构造方法:

        this():本类的构造

        super():父类的构造

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、重写,子类的方法和父类的必须一致:方法体不同

为什么需要重写:

        1、父类的功能,子类不一定需要,或者不一定满足

        快捷键:Alt+Insert:override;

笔记知识点来源:【狂神说java】java0基础学习

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/3975556.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-10-21
下一篇2022-10-21

发表评论

登录后才能评论

评论列表(0条)

    保存