package cn.itcast_01;
public class DirectionDemo {
public static void main(String[] args) {
Direction d = Direction.FRONT;
System.out.println(d);// cn.itcast_01.Direction@6bbc4459
System.out.println("------------------------");
Direction2 d2 = Direction2.FRONT;
System.out.println(d2);// cn.itcast_01.Direction2@5d888759
System.out.println(d2.getName());
System.out.println("------------------------");
Direction3 d3 = Direction3.FRONT;
System.out.println(d3);
System.out.println(d3.getName());
d3.show();
d3 = Direction3.LEFT;
System.out.println(d3);
System.out.println(d3.getName());
d3.show();
}
}
package cn.itcast_01;
public class Direction {
// 创建几个实例
public static final Direction FRONT = new Direction();
public static final Direction BEHIND = new Direction();
public static final Direction LEFT = new Direction();
public static final Direction RIGHT = new Direction();
// 私有构造
private Direction() {
}
}
package cn.itcast_01;
public class Direction2 {
// 创建几个实例
public static final Direction2 FRONT = new Direction2("前");
public static final Direction2 BEHIND = new Direction2("后");
public static final Direction2 LEFT = new Direction2("左");
public static final Direction2 RIGHT = new Direction2("右");
// 私有构造
// private Direction2() {
//
// }
private Direction2(String name) {
this.name = name;
}
private String name;
public String getName() {
return name;
}
}
package cn.itcast_01;
public abstract class Direction3 {
// 创建几个实例
public static final Direction3 FRONT = new Direction3("前") {
@Override
public void show() {
System.out.println("前");
}
};
public static final Direction3 BEHIND = new Direction3("后") {
@Override
public void show() {
System.out.println("后");
}
};
public static final Direction3 LEFT = new Direction3("左") {
@Override
public void show() {
System.out.println("左");
}
};
public static final Direction3 RIGHT = new Direction3("右") {
@Override
public void show() {
System.out.println("右");
}
};
// 私有构造
// private Direction2() {
//
// }
private Direction3(String name) {
this.name = name;
}
private String name;
public String getName() {
return name;
}
public abstract void show();
}