标签:应用 this 顺序 父类 方法 nbsp ide 中间 值类型
首先建立一个父类,包括中国和美国工人的属性以及方法
1 public abstract class TestEmployee { 2 String name; 3 int age; 4 String sex; 5 6 public TestEmployee() { 7 } 8 public TestEmployee(String name, int age, String sex) { 9 super(); 10 this.name = name; 11 this.age = age; 12 this.sex = sex; 13 } 14 15 public abstract void show();
建立一个中国工人的子类,中间包括他特有的属性生肖,注意构造器的参数和父类顺序一致
1 public class TestUSA extends TestEmployee { 2 String xingzuo; 3 4 5 public TestUSA() { 6 } 7 8 public TestUSA(String name, int age, String sex,String xingzuo) { 9 super(name, age, sex); 10 this.xingzuo=xingzuo; 11 } 12 13 14 @Override 15 public void show() { 16 System.out.println("姓名"+name); 17 System.out.println("年龄"+age); 18 System.out.println("性别"+sex); 19 System.out.println("星座"+xingzuo); 20 21 } 22 23 24 }
同理,建立美国工人的子类
1 public class TestChina extends TestEmployee { 2 String shengxiao; 3 4 public TestChina() { 5 } 6 7 public TestChina(String name,int age,String sex,String shengxiao) { 8 super(name,age,sex); 9 this.shengxiao = shengxiao; 10 } 11 12 @Override 13 public void show() { 14 System.out.println("姓名"+name); 15 System.out.println("年龄"+age); 16 System.out.println("性别"+sex); 17 System.out.println("生肖"+shengxiao); 18 } 19 20 }
建立工厂,这里的方法名为getA,
1 import java.util.Scanner,TestEmployee为返回值类型(引用类型:引用),getA为方法名。在输入特又属性时利用equals进行判断,同时创建对象 2 3 public class TestEmployeeFactory { 4 public static TestEmployee getA(String str){ 5 Scanner input =new Scanner(System.in); 6 System.out.println("请输入姓名"); 7 String name=input.next(); 8 System.out.println("请输入年龄"); 9 int age=input.nextInt(); 10 System.out.println("请输入性别"); 11 String sex=input.next(); 12 13 TestEmployee emp=null; 14 if(str.equals("china")){ 15 System.out.println("请输入生肖"); 16 String shengxiao=input.next(); 17 emp=new TestChina(name,age,sex,shengxiao); 18 19 }else if(str.equals("usa")){ 20 System.out.println("请输入星座"); 21 String xingzuo=input.next(); 22 emp=new TestUSA(name,age,sex,xingzuo); 23 } 24 return emp; 25 } 26 27 public static void main(String[] args) { 28 TestEmployee emp1=getA("china"); 29 emp1.show(); 30 31 } 32 }
标签:应用 this 顺序 父类 方法 nbsp ide 中间 值类型
原文地址:http://www.cnblogs.com/hudada007/p/6713740.html