如何在Java中使用继承关键字extends,并以子类调用父类方法的方式展现继承关系?
时间: 2024-11-01 16:12:36 浏览: 23
在Java中,继承是面向对象编程的一个核心概念,它允许我们创建一个新的类(子类)来继承另一个类(父类)的属性和方法。使用关键字extends来实现继承,下面是一个详细的示例代码来说明这一点:
参考资源链接:[JAVA语言程序设计期末考试试题及答案详解](https://wenku.csdn.net/doc/pfy8jvkgvf?spm=1055.2569.3001.10343)
首先,我们定义一个父类Person:
```java
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
public void eat() {
System.out.println(name +
参考资源链接:[JAVA语言程序设计期末考试试题及答案详解](https://wenku.csdn.net/doc/pfy8jvkgvf?spm=1055.2569.3001.10343)
相关问题
请解释在Java中如何正确使用继承关键字extends,并给出一个示例代码来展示子类如何调用父类的方法。
在Java中,继承是面向对象编程的重要特性之一,它允许新创建的类(子类)继承父类的属性和方法。为了实现继承,需要使用关键字extends来声明子类与父类之间的关系。继承的关键在于代码的复用和扩展功能。
参考资源链接:[JAVA语言程序设计期末考试试题及答案详解](https://wenku.csdn.net/doc/pfy8jvkgvf?spm=1055.2569.3001.10343)
例如,假设我们有一个父类Person,它有一个方法speak(),用来让对象说话。现在我们想要创建一个子类Student来继承Person,以利用已有的speak()方法,并添加特定的功能,比如执行某个动作。以下是具体的实现步骤和代码示例:
首先定义父类Person:
```java
class Person {
// 父类属性
String name;
// 父类方法
public void speak() {
System.out.println(name +
参考资源链接:[JAVA语言程序设计期末考试试题及答案详解](https://wenku.csdn.net/doc/pfy8jvkgvf?spm=1055.2569.3001.10343)
在Java中设计Cat类。使用关键字extends 继承Animal类在子类里面通过 super 关键字去调用父类的成员变量和成员方法,在子类的构造方法中使用super 关键字调用父类的构造方法,在测试类里进行验证。
在Java中,我们可以设计一个名为`Cat`的类,它继承自`Animal`类,以展示继承、构造函数的调用以及多态性。首先,我们需要创建一个基础的`Animal`类:
```java
public class Animal {
private String name;
// 构造方法
public Animal(String name) {
this.name = name;
}
// 父类的成员方法
public void eat() {
System.out.println(name + " is eating.");
}
// 访问器方法
public String getName() {
return name;
}
}
```
接着,我们定义`Cat`类,它继承自`Animal`并重写了`eat()`方法:
```java
public class Cat extends Animal {
private String furColor;
// 子类构造方法,通过super调用父类构造
public Cat(String name, String furColor) {
super(name); // 调用父类的构造函数
this.furColor = furColor;
}
// 重写父类的eat方法,体现多态性
@Override
public void eat() {
System.out.println(furColor + " cat named " + super.getName() + " is eating.");
}
// 子类特有的访问器方法
public String getFurColor() {
return furColor;
}
}
```
最后,我们在`Test`类中创建实例并进行验证:
```java
public class Test {
public static void main(String[] args) {
// 创建Cat对象并通过父类引用
Animal myCat = new Cat("Whiskers", "Black");
// 调用父类方法
myCat.eat(); // 输出: Black cat named Whiskers is eating.
// 访问子类特有属性
System.out.println("Fur color: " + myCat.getFurColor()); // 输出: Fur color: Black
// 验证多态性
((Cat)myCat).eat(); // 再次调用,由于子类重写,输出: Black cat named Whiskers is eating.
}
}
```
阅读全文