Person p1 = new Person();解释
时间: 2023-11-17 12:05:28 浏览: 109
这段代码是在Java语言中创建一个名为p1的Person对象实例。具体来说,它使用了Person类的默认构造函数来创建这个对象。这个对象将包含该类中定义的所有属性和行为,并且可以通过调用该对象的方法来执行这些行为。例如,可以使用p1.setName("John")来设置该对象的名称属性为"John"。
相关问题
person p1 = new person();
这段代码创建了一个名为 `p1` 的新的 `person` 对象,并将其实例化。具体来说,代码中的 `new person()` 创建了一个 `person` 类型的新对象,并且 `p1` 是一个对该对象的引用。可以通过 `p1` 引用来访问和修改 `person` 对象的属性和方法。如果 `person` 类定义了构造函数,那么在实例化时会调用该构造函数来初始化对象。
用java创建TreeSet集合完成以下操作: 样例输入: Person p1=new Person("001","tt",27); Person p4=new Person("001","tt",29); Person p2=new Person("005","tt1",23); Person p3=new Person("006","tt2",27); Person p5=new Person("007","tt3",22); Person p6=new Person("007","tt3",40); 样例输出: 001---tt---27 001---tt---29 005---tt1---23 006---tt2---27 007---tt3---22 007---tt3---40
好的,下面是代码实现:
```java
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
TreeSet<Person> set = new TreeSet<>();
Person p1 = new Person("001", "tt", 27);
Person p4 = new Person("001", "tt", 29);
Person p2 = new Person("005", "tt1", 23);
Person p3 = new Person("006", "tt2", 27);
Person p5 = new Person("007", "tt3", 22);
Person p6 = new Person("007", "tt3", 40);
set.add(p1);
set.add(p4);
set.add(p2);
set.add(p3);
set.add(p5);
set.add(p6);
for (Person p : set) {
System.out.println(p);
}
}
}
class Person implements Comparable<Person> {
private String id;
private String name;
private int age;
public Person(String id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
@Override
public String toString() {
return id + "---" + name + "---" + age;
}
@Override
public int compareTo(Person o) {
if (this.age != o.age) {
return Integer.compare(this.age, o.age);
} else if (!this.name.equals(o.name)) {
return this.name.compareTo(o.name);
} else {
return this.id.compareTo(o.id);
}
}
}
```
这个代码实现了一个名为`Main`的类,创建了一个`TreeSet`集合,并添加了6个`Person`对象。然后,遍历集合并输出每个`Person`对象的信息。`Person`类实现了`Comparable`接口,通过重写`compareTo()`方法,实现了按`age`、`name`、`id`的顺序进行比较,并且重写了`toString()`方法,输出了`Person`对象的信息。
阅读全文