Java开发基础系列(六):类的继承(子类、重写、类型转换)
发布人:shili8
发布时间:2024-12-30 08:03
阅读次数:0
**Java开发基础系列(六):类的继承**
在 Java 中,类的继承是面向对象编程的一个重要概念。通过继承,我们可以创建一个新的类,这个新类继承了原有的类的属性和方法,并且可以添加新的属性和方法或者重写父类中的方法。
**子类**
子类是从父类继承而来的类。子类继承父类的所有属性和方法,除非在子类中被覆盖或重写。
javapublic class Animal { public void eat() { System.out.println("动物吃东西"); } } public class Dog extends Animal { @Override public void eat() { System.out.println("狗吃骨头"); } public void bark() { System.out.println("狗叫"); } }
在上面的例子中,`Dog`类继承了`Animal`类的所有属性和方法,并且重写了父类中的`eat()`方法。同时,`Dog`类添加了一个新的方法`bark()`。
**重写**
重写是指子类覆盖或修改父类中的方法。重写的目的是为了让子类具有与父类不同的行为。
javapublic class Animal { public void sound() { System.out.println("动物叫"); } } public class Dog extends Animal { @Override public void sound() { System.out.println("狗叫"); } public void bark() { System.out.println("狗叫"); } }
在上面的例子中,`Dog`类重写了父类中的`sound()`方法,并且添加了一个新的方法`bark()`。
**类型转换**
类型转换是指将一个对象从一种类型转换为另一种类型。这种转换可以发生在两个相邻的继承关系中,也可以发生在不相邻的继承关系中。
javapublic class Animal { public void sound() { System.out.println("动物叫"); } } public class Dog extends Animal { @Override public void sound() { System.out.println("狗叫"); } public void bark() { System.out.println("狗叫"); } } public class Cat extends Animal { @Override public void sound() { System.out.println("猫叫"); } public void meow() { System.out.println("猫叫"); } }
在上面的例子中,我们可以将一个`Dog`对象转换为一个`Animal`对象,因为它们是继承关系中的相邻类型。但是,我们不能将一个`Cat`对象转换为一个`Dog`对象,因为它们之间没有继承关系。
javapublic class Main { public static void main(String[] args) { Dog dog = new Dog(); Animal animal = (Animal) dog; // 正确的类型转换 Cat cat = new Cat(); // Cat cat2 = (Dog) cat; // 错误的类型转换 } }
**总结**
在本文中,我们学习了Java中的类继承、子类、重写和类型转换。通过这些概念,我们可以创建一个新的类,这个新类继承了原有的类的属性和方法,并且可以添加新的属性和方法或者重写父类中的方法。
**参考**
* 《Java编程语言规范》(JLS)
* 《Java核心技术》(Core Java)
* 《Java高级特性》(Advanced Java)