package pro1;
class Person {
private String name;
private int age;
{
// 和构造方法一样,只要对象实例化,肯定会运行一次
// 在构造方法之前运行
System.out.println("构造块");
}
static {
// 不管创建了多少个对象,都只运行一次
System.out.println("静态代码块");
}
public boolean compare(Person p1) {
Person p2 = this;
if (p2 == p1) {
return true;
}
if ((p2.age == p1.age) && p2.name.equals(p1.name)) {
return true;
} else {
return false;
}
}
public static int count = 0;
public Person() {
count++;
System.out.println("共初始化了" + count + "个对象");
}
public Person(String name, int age) {
this();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class T4 {
public static void main(String[] args) {
Person[] persons = new Person[2];
persons[0] = new Person("张三", 111);
persons[1] = new Person("张三", 111);
System.out.println("两个对象是否相同: " + persons[0].compare(persons[1]));
}
}
Java入门.构造块和静态代码块
最新推荐文章于 2024-09-10 10:21:38 发布