package day03;
public class Demo7 {
private static int age;
static {
System.out.println("age-->" + age);
age = 18;
System.out.println("age-->" + age);
}
{
age += 1;
System.out.println("构造代码块--->age" + age);
}
public static void main(String[] args) {
new Demo7();
new Demo7();
new Demo7();
new Demo7();
}
public Demo7() {
age += 1;
System.out.println("构造方法中: age-->" + age);
}
}
package day03;
class View {
private static View view = new View();
private View() {
}
public static View getInstance() {
return view;
}
}
class TextView {
private static TextView tv;
private String text;
private TextView(String text) {
this.text = text;
}
public String getText() {
return text;
}
public static TextView getInstance(String text) {
if (tv == null) {
tv = new TextView(text);
}
return tv;
}
}
public class Demo9 {
public static void main(String[] args) {
View v1 = View.getInstance();
View v2 = View.getInstance();
System.out.println(v1 == v2);
TextView tv1 = TextView.getInstance("张三");
TextView tv2 = TextView.getInstance("李四");
System.out.println(tv1 == tv2);
System.out.println(tv2.getText());
}
}
package day03;
class BreadMachine {
private static BreadMachine bm = null;
private int counter;
public BreadMachine() {
}
public static BreadMachine getInstance() {
if (bm == null) {
bm = new BreadMachine();
}
return bm;
}
public void create() {
counter++;
System.out.println(String.format("正在制作第%d个面包", counter));
}
}
public class Demo10 {
public static void main(String[] args) {
BreadMachine bm = BreadMachine.getInstance();
for (int i = 0; i < 10; i++) {
bm.create();
}
BreadMachine bm2 = BreadMachine.getInstance();
for (int i = 0; i < 10; i++) {
bm2.create();
}
}
}