方法的重写

方法的重写

介绍:就是子类中有一个方法,和父类中的某个方法的返回类型,方法名,参数列表一样,那么就是说子类的这个方法覆盖了父类(不仅仅是直接父类的关系 也可以是爷爷类…)的方法

class Animal {
    public void cry() {
        System.out.println("动物叫唤..");
    }
}
    class Dog extends Animal {
        //1. 因为 Dog 是 Animal 子类
        //2. Dog 的 cry 方法和 Animal 的 cry 定义形式一样(名称、返回类型、参数)
        //3. 这时我们就说 Dog 的 cry 方法,重写了 Animal 的 cry 方法
        public void cry() {
            System.out.println("小狗汪汪叫..");
        }
    }


    public class Override01 {
        public static void main(String[] args) {
        //演示方法重写的情况
                Dog dog = new Dog();
                dog.cry();//ctrl+b 定位到dog.cry()
            }
        }
    
    //运行结果
    小狗汪汪叫..

细节

  1. 子类方法和父类方法定义形式一样(名称参数)

  2. 子类方法和父类方法的返回类型一样,或者说 返回类型是父类的子类

    //比如说 
    // public Object getInfo() 和 	public String  getInfo() 和
    //其中  String 是 Object 的子类
    

3.子类的方法不能缩小父类方法的访问权限 public > protected >默认 >private

void sakOK(){}    pubilic void sakOK(){}

重载和重写的区别

名称发生范围方法名形参列表返回类型修饰符
重载 (overload)本类必须一样类型,个数,顺序至少有一个不同无要求无要求
重写(override)父子类必须一样相同子类的重写的方法,返回类型和父类一致,或者是其父类子类的额方法不能缩小父类的访问范围
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值