java inheritance具体讲解
时间: 2023-10-14 08:29:04 浏览: 74
关于JAVA继承的讲解
好的,让我更详细地为您讲解Java Inheritance。
在Java中,继承是一种面向对象编程中的重要概念,可以让一个类从另一个类中继承属性和方法。在继承关系中,被继承的类称为父类或超类(superclass),继承的类称为子类或派生类(subclass)。
子类可以继承父类的所有非私有属性和方法,包括父类的公有、保护和默认属性和方法。子类可以通过使用关键字“extends”来继承父类。下面是一个简单的例子:
```
public class Animal {
public void eat() {
System.out.println("Animal is eating");
}
}
public class Dog extends Animal {
public void bark() {
System.out.println("Dog is barking");
}
}
```
在这个例子中,`Dog`类继承了`Animal`类。`Dog`类是`Animal`类的子类,`Animal`类是`Dog`类的父类。`Dog`类继承了`Animal`类的`eat()`方法,并且可以新增自己的`bark()`方法。
当我们创建一个`Dog`对象时,它既拥有`Animal`类的属性和方法,也拥有自己的属性和方法。例如:
```
Dog dog = new Dog();
dog.eat(); // 输出 "Animal is eating"
dog.bark(); // 输出 "Dog is barking"
```
除了继承父类的属性和方法,子类还可以重写父类的方法。重写是指子类可以提供自己的实现,覆盖掉从父类继承来的方法。例如:
```
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("Cat is eating");
}
}
```
在这个例子中,`Cat`类重写了`Animal`类的`eat()`方法,并且提供了自己的实现。当我们创建一个`Cat`对象并调用`eat()`方法时,它会输出`Cat is eating`。
继承还有一个重要的概念,就是多态。多态是指同一个方法名可以在不同的子类中有不同的实现。例如,我们可以创建一个方法,参数为`Animal`类型,但是可以传入`Dog`对象或`Cat`对象。这个方法在不同的对象中的行为会不同,因为不同的对象会有不同的实现。例如:
```
public void doSomething(Animal animal) {
animal.eat();
}
Dog dog = new Dog();
Cat cat = new Cat();
doSomething(dog); // 输出 "Animal is eating"
doSomething(cat); // 输出 "Cat is eating"
```
在这个例子中,`doSomething()`方法接受一个`Animal`类型的参数,但是可以传入`Dog`对象或`Cat`对象。因为`Dog`和`Cat`都是`Animal`的子类,并且重写了`eat()`方法,所以在调用`doSomething()`方法时,会分别调用`Dog`和`Cat`的`eat()`方法,输出不同的结果。这就是多态的表现。
希望这个例子可以更好地帮助您理解Java Inheritance的概念和用法。
阅读全文