Java继承和重写

1.Java的继承

继承是面向对象的三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。

继承是指在原有类的基础上,进行功能扩展,创建新的类型。

 Java继承主要作用是可以减少代码重复。通过继承,我们可以让程序更加清晰易懂,易于维护和复用。 

2.Java的重写

重写(override):也称为覆盖。重写是子类对父类非静态、非private修饰,非final修饰,非构造方法等的实现过程 进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定 于自己的行为。 也就是说子类能够根据需要实现父类的方法。

方法重写的规则:

1.  子类在重写父类的方法时,一般必须与父类方法原型一致: 返回值类型、 方法名、 参数列表要完全一致。

2.  被重写的方法返回值类型可以不同,但是必须是具有父子关系的。

3.  访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类方法被public修饰,则子类中重写该方 法就不能声明为 protected

4.  父类被static、private修饰的方法、构造方法都不能被重写。

5.  重写的方法, 可以使用 @Override 注解来显式指定. 有了这个注解能帮我们进行一些合法性校验. 例如不小心 将方法名字拼写错了 (比如写成 aet), 那么此时编译器就会发现父类中没有 aet 方法, 就会编译报错, 提示无法 构成重写。

 让我们编写代码来看一下

public class Animal {
    public void makeSound() {
        System.out.println("The animal makes a sound.");
    }
}

public class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("The dog barks.");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal myAnimal = new Animal();
        Dog myDog = new Dog();

        myAnimal.makeSound(); // prints "The animal makes a sound."
        myDog.makeSound(); // prints "The dog barks."
    }
}

在这个例子中,Dog 类继承了 Animal 类并重写了其 makeSound() 方法。因此,当我们创建一个 Dog 实例并调用其 makeSound() 方法时,实际执行的是 Dog 类中的版本,而不是 Animal 类中的版本。这就是 Java 中的继承和重写的基本原理。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值