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入门.构造块和静态代码块
猜你喜欢
转载自8850702.iteye.com/blog/2280455
今日推荐
周排行