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
        }
    }
    
  • 相关阅读:
    barabasilab-networkScience学习笔记2-图理论
    barabasilab-networkScience学习笔记1-网络科学简介
    windows下R语言在终端的运行
    远程打印服务器
    矩震级Mw与地震矩M0的换算关系
    关于地震科学台阵数据中心的仪器记录值介绍
    capjoint中的tel3核心代码teleseis3.f90
    Centos7安装
    matlab中hold on 和hold off功能的区别
    sac cut
  • 原文地址:https://www.cnblogs.com/lemonlover/p/14037628.html
Copyright © 2011-2022 走看看