VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > C#教程 >
  • 方法重写

方法重写

  • 重写都是方法的重写,和属性无关
  • 重写只和非静态方法有关,和静态方法无关
  • 重写的关键词只能是public

重写:

  1. 重写需要有继承关系,子类重写父类的方法

  2. 参数列表必须相同

  3. 修饰符:范围只能扩大不能缩小(public <-- protected <-- default <-- private)

  4. 抛出的异常范围可以缩小不能扩大

  5. 子类的方法和父类必须要一致,方法体不同

为什么需要重写

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

(1)静态方法的调用只和(左边)定义的数据有关

package Demo06;

public class B {
    public static void test(){
        System.out.println("B-->test()");
    }
}
package Demo06;

public class A extends B{
    public static void test(){
        System.out.println("A-->test()");
    }
}

父类的引用可以指向子类

package Demo06;

public class Application {
    public static void main(String[] args) {
        //方法的调用只和(左边)定义的数据有关
      A a = new A();
      a.test();//调用A类的方法

        //父类的引用指向了子类
      B b = new A();
      b.test();//调用B类的方法
    }
}

运行结果

A-->test()
B-->test()

(2)非静态方法的重写

把上面的静态方法改成非静态方法

对A类:Alt + Ins ——>重写方法

请添加图片描述
请添加图片描述

然后就会出现这个

请添加图片描述

重写一下里面的方法

package Demo06;

public class A extends B{
    @Override //注解:有功能的注释1
    public void test() {
        System.out.println("A-->test()");
    }
}

B类和main方法不变

请添加图片描述

运行结果

请添加图片描述

出处:https://www.cnblogs.com/notayeser/p/15055719.html


相关教程