zoukankan      html  css  js  c++  java
  • 子类重写父类方法:

    父类:

    //-定义一个父类--鸟类Birds:
    public class Birds{
    	//-定义父类鸟类Birds的fly()方法
    	public void fly(){
    		System.out.println("我可以自由飞翔!");
    	}
    }
    

    子类:

    //-定义一个子类--鸵鸟类(Ostrich),继承父类--鸟类Birds:
    public class Ostrich extends Birds{
    	//-重写父类Birds的方法fly()
    	public void fly(){
    		System.out.println("我只能在地上奔跑!");
    	}
    	public static void main(String[] agrs){
    		//-调用重写后子类Ostrich的fly()方法
    		Ostrich o=new Ostrich();
    		o.fly();
    
    		//-调用重写前父类Birds的fly()方法
           //-方法1:
    		Birds b=new Birds();
    		b.fly();
           //-方法2:
           o.getSuper();
    
    	}
    
          //-用super显式调用父类Birds的fly()方法
          public void getSuper(){
            super.fly();
          }
    
    }
    

    运行结果:

    子类重写父类注意事项:遵循:”两同、两小、一大“原则

    1、两同:方法名相同,形参列表相同

    2、两小:子类方法返回值类型比父类方法返回值类型更小或相等,子类方法声明抛出的异常类比父类方法声明抛出的异常类更小或相等

    3、一大:子类方法访问权限比父类方法访问权限更大或相等

    4、特别注意的是:覆盖的方法和被覆盖的方法,要么都是类方法,要么都是实例方法,不能一个是类方法,一个是实例方法,否则会发生编译错误

  • 相关阅读:
    汽车租赁系统
    两种设计模式(2)==>>"单例"
    两种设计模式(1)==>>“简单工厂”
    面向对象设计的七大原则
    springboot中的mybatis是如果使用pagehelper的
    vue
    vue
    vue
    idea快捷键
    idea部署tomcat项目时,在项目里打断点不能拦截
  • 原文地址:https://www.cnblogs.com/baby-zhude/p/8017864.html
Copyright © 2011-2022 走看看