• Java基础方法重写


    关于java语言当中的方法的覆盖

    • 1.方法覆盖又被称为方法重写,英语单词:override【官方】/override

    • 2.什么时候使用方法重写?

      当父类中的方法已经无法满足当前子类的业务需求,子类有必要将父类中继承过来的方法进行重新编写,这个重新编写的过程称为方法重写/方法覆盖

    • 3.什么条件满足之后方法会发生重写呢?【代码满足之后,就构成方法的覆盖?】

      方法重写发生在具有继承关系的父与子之间

      方法重写的时候:返回值类型相同,方法名相同,形式参数相同

      方法重写的时候:访问权限不能太低,可以更高

      方法重写的时候:抛出异常不能更多,可以更少。

    • 4.建议方法重写的时候尽量复制粘贴,不要编写,容易出错,导致没有产生覆盖

    • 5.注意:

      私有方法不能继承,所以不能覆盖

      构造方法不能继承,所以不能覆盖

      静态方法不存在覆盖。

      覆盖只针对方法,不谈属性。

    关于java语言当中的方法重载

    • 1.方法重载又称为Overload

    • 2.方法重载在什么时候使用?

      当在同一个类中,方法完成的功能是相似的,建议方法名相同,这样方便程序员的编程,就像在调用一个方法似的。代码美观。

    • 3.什么条件满足之后构成方法重载?

      在同一个类当中,方法名相同参数列表不同类型,顺序,个数

    • 4.方法重载和什么无关?

      和方法的返回值类型无关

      和方法的修饰符列表无关

    示例代码:

    class Animal {
      
    	public void move(){
    		System.out.println("动物在移动!");
    	}
    }
    class Cat extends Animal {
    
    	public void move() {
    		System.out.println("猫在走猫步!");
    	}
    
    }
    class Bird extends Animal {
    
    	public void move() {
    		System.out.println("鸟儿在飞翔!");
    	}
    
    }
    class YingWu extends Bird {
    
    	//这里的move方法覆盖的是Bird当中的move方法
        public void move() {
        System.out.println("鹦鹉飞不起来!");
    	}
     
    }
    public class OverrideTest01 {
       
    	public static void main(String[] args) {
    
    	   //创建动物对象
    	   Animal a = new Animal();
    	   a.move();
    	   
    	   //创建猫类对象
    	   Cat c = new Cat();
    	   c.move();
    	   
    	   //创建鸟类对象
    	   Bird b = new Bird();
    	   b.move();
    	   
    	   //创建鹦鹉类对象
    	   YingWu y = new YingWu();
    	   y.move();
    }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
  • 相关阅读:
    在Ubuntu 20.04上安装和配置MySQL 8:详细指南和远程访问设置
    Linux查看CPU和内存使用情况
    C#/VB.NET 合并PDF页面
    python爬取深交所各行业前三上市公司市值
    【栈】NowCoder-由两个栈组成的队列
    [附源码]java毕业设计网上宠物商店
    Haproxy+Nginx搭建负载均衡集群
    GO语言之Goroutine和channel
    Protocols/面向协议编程, DependencyInjection/依赖式注入 的使用
    Win10_触摸板使用_系统自带使用教程
  • 原文地址:https://blog.csdn.net/qq_46096136/article/details/126130295