Java入门.构造块和静态代码块


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]));
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值