java中super的应用

2025-10-29 18:12:51

1、     他 可以用来区分子类和父类具有相同变量名的,可以用super来区分          super也可以调用父类被重写的方法                     构造方法是不能够被继承的,如果想使用父类的构造方法来帮助我们完成一些事情                     我们可以通过super来调用相应的构造方法,每个构造方法上面其实都有一句super()                   

java中super的应用

2、  不写也有,简单来说,在构建子类对象的时候,子类会先调用父类的构造方法                                           如果父类中添加了有参构造器,但是也没有手动添加无参构造器                  那么子类的构造器就会报错,引用子类中的每一个构造器都会默认                  调用父类的无参构造器,除非你通过super关键字来进行显示的调用                  父类的相应的有参构造器;            

java中super的应用

3、                    super关键字在子类的构造器中调用相应的构造器,那么也必须写在第一行              this  和    super  能同时存在吗?                                      不能    

java中super的应用

4、 2.  向上造型                       简单来说就难受使用  父类的引用指向子类的对象                             动物  animal   =  new 狗();狗是动物           Animal  a  =  new  Dog();           在使用向上造型时需要注意:     *****************                编译期和运行期       

java中super的应用

5、        编译期看类型  Animal  a= new Cat();           在编译期这个a是动物,动物只能吃不会抓老鼠,所以a是不能够直接调用抓老鼠的 需要我们强行转换           运行期   看对象           Animal  cat=new Cat();           Dog  dog=(dog) cat;           上面代码只能够在编译期没有问题,因为编译期看类型dog看做了狗类型           可以调用看大门,但是运行期看对象,实际上这只狗看门的时候发现他不是一条真正的狗           而是一直披着狗皮的猫,所以他看大门的时候出错了。

java中super的应用

6、     *****************************     强制转换有风险,所以强制转换之前最好要判断一下     判断该引用指向的对象是否是转换之后的对象          如何判断?java给我们提供了一个instanceof  关键字,我们可以使用该关键字     来进行判断,查看引用所指向的对象是不是我们想转的类型,如果是 则返回true 不是则返回false。。         

java中super的应用

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢