zoukankan      html  css  js  c++  java
  • Day09_面向对象 方法重写

    方法重写

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

    1. 方法名必须相同
    2. 参数列表必须相同
    3. 修饰符:范围可以扩大但不能缩小: public>Protected>Default>private
    4. 抛出的异常:范围,可以被缩小,但不能扩大:ClassNotFoundException-->Exception(大)

    重写,子类的方法和父类必要一致:方法体不同!

    为什么要重写:

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

      Alt + Insert:Override;

    静态方法

    package com.oop.Demo05;
    
    public class B {
        public static  void test(){
            System.out.println("B->test()");
        }
    }
    
    package com.oop.Demo05;
    
    public class A extends B{
        public static void test(){
            System.out.println("a->test()");
        }
    }
    
    package com.oop;
    
    
    import com.oop.Demo05.A;
    import com.oop.Demo05.B;
    
    public class Application {
    	//静态的方法和非静态的方法区别很大!
    		//静态方法:方法的调用只和左边,定义的数据类型有关
        public static void main(String[] args) {
            A a = new A();
            a.test();
            B b = new A();
            b.test();
        }
    }
    
    //运行结果
    a->test()
    B->test()
    
    Process finished with exit code 0
    

    非静态方法

    package com.oop.Demo05;
    
    //重写都是方法的重写,和属性无关
    public class B {
        public void test(){
            System.out.println("B->test()");
        }
    }
    
    package com.oop.Demo05;
    
    //继承
    public class A extends B{
        //Override 重写
        @Override   //注解:有功能的注释!
        public void test() {
            System.out.println("A->test()");
        }
    }
    
    package com.oop;
    
    
    import com.oop.Demo05.A;
    import com.oop.Demo05.B;
    
    public class Application {
        //非静态:重写
        public static void main(String[] args) {
    
            A a = new A();
            a.test();
    
            //父类的引用指向了子类
            B b = new A();//子类重写了父类的方法
            b.test();//B
        }
    }
    
  • 相关阅读:
    基本技能训练之线程
    关于UEditor的使用配置(图片上传配置)
    PAT 乙级练习题1002. 写出这个数 (20)
    codeforces 682C Alyona and the Tree DFS
    codeforces 681D Gifts by the List dfs+构造
    codeforces 678E Another Sith Tournament 概率dp
    codeforces 680E Bear and Square Grid 巧妙暴力
    codeforces 678D Iterated Linear Function 矩阵快速幂
    codeforces 679A Bear and Prime 100 交互
    XTUOJ 1248 TC or CF 搜索
  • 原文地址:https://www.cnblogs.com/lemonlover/p/14037628.html
Copyright © 2011-2022 走看看