ToB企服应用市场:ToB评测及商务社交产业平台

标题: 继承之方法重写 [打印本页]

作者: 金歌    时间: 2022-8-25 05:06
标题: 继承之方法重写
1.静态与非静态方法在继承中的应用

    (1)静态方法

    (2)非静态方法
    当把A和B类的test方法的static去掉之后就会出现下图标注的圈,这就表示是重写。

    快速生成重写方法的快捷键:control + enter 或 alt + insert会出现如下图所示:

    下图当进行方法的重写之后走的都是A类的test方法,也就是当子类重写了父类的方法后就会都走子类的方法。

2.重写注意事项

    (1)需要有继承关系,而且是子类重写父类的方法与父类的属性无关。    (2)在子类中重写父类的方法时两个方法名必须相同,参数列表也必须相同。    (3)子类的修饰符:范围可以扩大但不能缩小:public > protected > default > private 比如父类的修饰符为default继承到子类的时候可以写成public,反之则不行。注:若父类是private则在子类中不能扩大。    (4)抛出的异常:范围可以被缩小但不能被扩大    (5)重写时子类的方法必须与父类相同,方法体不同3.重写的目的

    (1)父类的功能子类不一定需要或不一定满足点击查看代码
  1. package com.Tang.oop.demo05;
  2. public class Application {
  3.     public static void main(String[] args) {
  4.        //对于具有继承关系的类的静态方法的调用
  5.         // 只和左边定义的数据类型有关
  6.         A a = new A();
  7.         a.test();
  8.         //父类的引用指向子类
  9.         B b = new A();//子类重写了父类的方法
  10.         b.test();
  11.     }
  12. package com.Tang.oop.demo05;
  13. public class A extends B{
  14.     //Override 意思就是重写
  15.     @Override//注解:有功能的注释
  16.     public void test() {
  17.         System.out.println("A=>test()");
  18.     }
  19. }
  20. package com.Tang.oop.demo05;
  21. //重写都是方法与属性无关
  22. public class B {
  23.     public void test(){
  24.         System.out.println("B=>test()");
  25.     }
  26. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4