public class SingletonClass {
private static SingletonClass sc = null;
public int num;
private SingletonClass() {
}
public static SingletonClass getInstance() {
if(sc == null) {
sc = new SingletonClass();
}
return sc;
}
}
package factory;
import animal.Animal;
import animal.Cat;
import animal.Cow;
import animal.Dog;
public class AnimalFactory {
public static Animal create(String animalName) {
if(animalName.equals("")) {
System.out.println("생성할 클래스가 없습니다.");
}
else if(animalName.equals("야옹이")) {
return new Cat();
}
else if(animalName.equals("멍멍이")) {
return new Dog();
}
else if(animalName.equals("황소")) {
return new Cow();
}
return null;
}
}
ObserverA.java
package observe;
import java.util.Observable;
import java.util.Observer;
public class ObserverA implements Observer{
@Override
public void update(Observable o, Object arg) {
String str = (String)arg;
System.out.println("변경 통지를 받음 : " + str);
}
}
Myclass.java
package cls;
import java.util.Observable;
public class Myclass extends Observable{
private String password;
private String perArg = null;
//일반 메소드
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
@Override
public void notifyObservers(Object arg) {
// TODO Auto-generated method stub
String str = (String)arg;
//변화가없다
if(str.equals(perArg)) return;
perArg = str;
setChanged(); //reset;
super.notifyObservers(arg);
clearChanged();
}
}