方法的重写

本文介绍了Java中方法重写的概念,强调了方法重写发生在有继承关系的两个类之间,要求方法名和参数列表相同,同时探讨了重写的作用,即子类可以根据需要扩展或修改父类的功能。通过实例展示了如何在子类中重写父类方法,并通过代码解释了静态和非静态方法的调用区别。
摘要由CSDN通过智能技术生成

方法的重写

重写:需要有继承关系,子类重写父类的方法。发生在两个类之间。

静态方法:类的方法

非静态方法:对象的方法

1.方法名和参数列表必须相同

2.修饰符范围可以扩大。public>protected>default>private

3.抛出的异常范围可以被缩小,不能被扩大。ClassNotFoundException---->Exception(大)

“两同一小一大”

为什么需要重写?

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

eg:

package com.oop.DemoFour;

public class DemoB {
    public  void test(){
        System.out.println("B->test()");
    }
}
package com.oop.DemoFour;

public class DemoA extends DemoB{
    public  void test(){
        System.out.println("A->test()");
    }
}
package com.oop.DemoTwo;

import com.oop.DemoFour.DemoA;
import com.oop.DemoFour.DemoB;
import com.oop.DemoThree.Student;

//一个项目应该只存在一个main方法
public class Application {
    public static void main(String[] args) {
        //静态方法:方法的调用只和等号左边定义的类型有关
        //非静态:子类重写了父类的方法
        DemoA demoA = new DemoA();
        demoA.test();//A->test()

        //父类的引用指向了子类
        DemoB demoB = new DemoA();//子类重写了父类的方法
        demoB.test();//A->test()

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值