用Java写创建父类Person类,在Person类中定义name和age属性,并定义该类的构造方法,重写toString方法,Person的属性返回字符串。
时间: 2024-05-06 22:20:11 浏览: 93
以下是Java代码实现:
```
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
```
在上述代码中,我们首先定义了一个Person类,该类包含了name和age两个属性。通过构造方法,我们可以实例化一个Person对象并初始化它的属性。重写toString方法后,我们可以在需要输出Person对象的时候,直接调用该对象的toString方法,返回包含属性信息的字符串。
相关问题
编写Person类,具备属性name、age,编写两个子类Student和Teacher类,Student类除了继承父类的属性,还有属性成绩score,Teacher类还有属性工资sal。定义它们各自的构造方法(使用super),并重写Object类的toString()方法,返回属性值拼接的字符串。在测试类里创建子类对象,并调用各自的toString()方法
下面是Person、Student、Teacher类以及测试类的代码实现:
```java
// Person类
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
// Student类
public class Student extends Person {
private int score;
public Student(String name, int age, int score) {
super(name, age);
this.score = score;
}
@Override
public String toString() {
return "Student{" +
"name='" + super.getName() + '\'' +
", age=" + super.getAge() +
", score=" + score +
'}';
}
}
// Teacher类
public class Teacher extends Person {
private double sal;
public Teacher(String name, int age, double sal) {
super(name, age);
this.sal = sal;
}
@Override
public String toString() {
return "Teacher{" +
"name='" + super.getName() + '\'' +
", age=" + super.getAge() +
", sal=" + sal +
'}';
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Person person = new Person("张三", 20);
System.out.println(person);
Student student = new Student("李四", 18, 85);
System.out.println(student);
Teacher teacher = new Teacher("王五", 30, 8000);
System.out.println(teacher);
}
}
```
在测试类中,我们分别创建了一个 Person 对象、一个 Student 对象和一个 Teacher 对象,并调用了它们各自的 toString() 方法,输出它们的属性值。由于 Student 和 Teacher 类都继承了 Person 类,因此它们也可以使用 super 关键字来访问父类中的属性和方法。
定义一个Person类,要求有name,sex,age属性,定义有参数的构造方法和没有参数的构造方法,重写toString( )方法用适当的方式返回各属性成员的值。在main()方法中定义4个Person类的对象,定义一个HashSet集合,使用泛型的方法控制集合的元素只能是Person类的对象,并将4个Person类的对象添加到集合中,然后遍历输出所有元素。运行效果如图所示。java
代码如下:
```java
import java.util.*;
class Person {
private String name;
private String sex;
private int age;
public Person() {
}
public Person(String name, String sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
", age=" + age +
'}';
}
}
public class Main {
public static void main(String[] args) {
Person p1 = new Person("张三", "男", 18);
Person p2 = new Person("李四", "女", 20);
Person p3 = new Person("王五", "男", 22);
Person p4 = new Person("赵六", "女", 24);
HashSet<Person> set = new HashSet<>();
set.add(p1);
set.add(p2);
set.add(p3);
set.add(p4);
for (Person p : set) {
System.out.println(p);
}
}
}
```
运行结果:
```
Person{name='王五', sex='男', age=22}
Person{name='张三', sex='男', age=18}
Person{name='赵六', sex='女', age=24}
Person{name='李四', sex='女', age=20}
```
阅读全文