import java.util.List;

public abstract class China {
	
    private String name;

	private String declaration;
	
	public China(String name, String declaration){
		this.declaration = declaration;
        this.name = name;
	}
	
	public String getDeclaration(){
		return this.declaration;
	}
}

public class RepublicOfChina extends China {
	public RepublicOfChina() {
		super("Taiwan (台灣)", "我們始終未接受「九二共識」，根本原因就是北京當局所定義的「九二共識」，其實就是「一個中國」、「一國兩制」。我要重申，台灣絕不會接受「一國兩制」，絕大多數台灣民意也堅決反對「一國兩制」，而這也是「台灣共識」。");
	}
}

public class PeoplesRepublicOfChina extends China {
	public PeoplesRepublicOfChina() {
		super("Kina (支那)", "我們鄭重倡議，在堅持「九二共識」、反對「台獨」的共同政治基礎上，兩岸各政黨、各界別推舉代表性人士，就兩岸關係和民族未來開展廣泛深入的民主協商，就推動兩岸關係和平發展達成制度性安排。");
	}
}

public class KMT extends China {
	public KMT() {
		super("KMT (歷史的眼淚)", "快跪下舔");
	}
}

public class StraitConsensus {
	public static void main(String[] args) {
		List<China> chinas = Arrays.asList(new PeoplesRepublicOfChina(), new RepublicOfChina(), new KMT());
		chinas.stream().map(c -> String.format("我們是%s, 我們的宣言是 [%s]", c.getName(), c.getDeclaration())).forEach(System.out::println);
    }
}