定义父类person,有类属性name及age,有私有属性__height,有实例方法info,能输出person的name、age及__height信息。子类student类继承person,有类属性grade,有实例方法info,能输出学生的name、age及grade信息。
时间: 2024-09-30 09:14:51 浏览: 40
在面向对象编程中,你可以这样定义父类Person:
```java
public class Person {
private String name;
private int age;
// 使用双下划线前缀表示这是私有属性,外部无法直接访问
private double __height;
// 构造函数用于初始化属性
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 实现info方法,用于获取并展示基本信息
public void info() {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
// 因为__height是私有的,这里默认不会显示高度
// 如果需要暴露给子类,可以提供get方法
// System.out.println("Height: " + this.__height);
}
}
// 子类Student继承自Person,并添加新的属性grade和方法
class Student extends Person {
private String grade;
public Student(String name, int age, String grade) {
super(name, age); // 调用父类构造函数
this.grade = grade;
}
// 重写info方法,以包含学生特有的信息
@Override
public void info() {
super.info(); // 先打印父类的信息
System.out.println("Grade: " + grade);
}
}
```
在这个例子中,`Student`类继承了`Person`,并扩展了其功能,当创建`Student`对象并调用`info()`方法时,会同时显示`Person`和`Student`类的相关信息。
阅读全文