/*
* 理解重载,继承,枚举,this和super的用法
*/
public class Start{
public static void main(String[] args){
Person person = new Men(Person.sex.MEN, Person.ethnic.WRITE, "English");
person.say();
}
}
class Person{
static public enum sex {MEN, WOMEN}; // 枚举
static public enum ethnic {WRITE, YELLOW, BLACK}
public String language;
public Person(sex sex, ethnic ethnic, String language){
this.language = language; //this的用法, 引用隐式参数
System.out.println(sex + ethnic + language);
}
public void say(){ // overloading 重载
System.out.println("Person say in " + this.language + "."); // 应用隐式参数
}
public void say(String language){ // overloading 重载
System.out.println("Person say in " + language + ".");
}
}
class Men extends Person{
public Men(sex sex, ethnic ethnic, String language){
super(sex, ethnic, language); // super的用法,调用超类的构造
}
public void say(){
super.say(); // super的第二个用法,调用超类的方法
System.out.println("Men say in " + language + ".");
}
}
class Women extends Person{
public Women(sex sex, ethnic ethnic, String language){
super(sex, ethnic, language);
}
public void say(){
super.say();
System.out.println("Women say in " + language + ".");
}
}
* 理解重载,继承,枚举,this和super的用法
*/
public class Start{
public static void main(String[] args){
Person person = new Men(Person.sex.MEN, Person.ethnic.WRITE, "English");
person.say();
}
}
class Person{
static public enum sex {MEN, WOMEN}; // 枚举
static public enum ethnic {WRITE, YELLOW, BLACK}
public String language;
public Person(sex sex, ethnic ethnic, String language){
this.language = language; //this的用法, 引用隐式参数
System.out.println(sex + ethnic + language);
}
public void say(){ // overloading 重载
System.out.println("Person say in " + this.language + "."); // 应用隐式参数
}
public void say(String language){ // overloading 重载
System.out.println("Person say in " + language + ".");
}
}
class Men extends Person{
public Men(sex sex, ethnic ethnic, String language){
super(sex, ethnic, language); // super的用法,调用超类的构造
}
public void say(){
super.say(); // super的第二个用法,调用超类的方法
System.out.println("Men say in " + language + ".");
}
}
class Women extends Person{
public Women(sex sex, ethnic ethnic, String language){
super(sex, ethnic, language);
}
public void say(){
super.say();
System.out.println("Women say in " + language + ".");
}
}