用java定义一个抽象类Person,有三个属性:姓名、性别、联系电话,用构造函数对三个属性进行赋初值,定义函数输出三个属性的值;
时间: 2024-04-23 12:21:58 浏览: 128
好的,下面是用 Java 定义一个抽象类 `Person`,实现上述功能:
```java
public abstract class Person {
private String name;
private String gender;
private String phone;
public Person(String name, String gender, String phone) {
this.name = name;
this.gender = gender;
this.phone = phone;
}
public abstract void printInfo();
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public String getPhone() {
return phone;
}
}
```
这里定义了一个抽象类 `Person`,包含了姓名、性别、联系电话三个属性,并在构造函数中进行了赋值。同时,定义了一个抽象方法 `printInfo()`,用于输出这三个属性的值。注意,这里的 `Person` 类是抽象类,不能直接实例化。
接下来,我们可以定义一个继承自 `Person` 的具体类,实现 `printInfo()` 方法:
```java
public class Student extends Person {
private int grade;
public Student(String name, String gender, String phone, int grade) {
super(name, gender, phone);
this.grade = grade;
}
@Override
public void printInfo() {
System.out.println("姓名:" + getName());
System.out.println("性别:" + getGender());
System.out.println("联系电话:" + getPhone());
System.out.println("年级:" + grade);
}
}
```
这里定义了一个 `Student` 类,继承自 `Person` 类,并增加了一个 `grade` 属性,表示学生的年级。在构造函数中,使用 `super` 调用父类的构造函数进行属性的初始化。同时,重写了 `printInfo()` 方法,输出学生的姓名、性别、联系电话和年级信息。
这样,我们就可以使用 `Student` 类来创建学生对象,并调用其 `printInfo()` 方法输出属性信息了:
```java
public static void main(String[] args) {
Student s = new Student("张三", "男", "13888888888", 3);
s.printInfo();
}
```
输出结果为:
```
姓名:张三
性别:男
联系电话:13888888888
年级:3
```
阅读全文