2016/1/20 继承作业
2,创建一个父类,在父类中创建三个方法,在子类中覆盖第三个方法,为子类创建一个对象,将它向上转型到基类并调用这个方法。
1 package Jicheng; 2 3 public class YuYan { 4 5 YuYan(String argus){ 6 System.out.println(" "); 7 } 8 YuYan(){ 9 10 } 11 12 private String yuyin; 13 private String yuhui; 14 private String yufa; 15 public String getYuyin() { 16 return yuyin; 17 } 18 public void setYuyin(String yuyin) { 19 this.yuyin = yuyin; 20 } 21 public String getYuhui() { 22 return yuhui; 23 } 24 public void setYuhui(String yuhui) { 25 this.yuhui = yuhui; 26 } 27 public String getYufa() { 28 return yufa; 29 } 30 public void setYufa(String yufa) { 31 this.yufa = yufa; 32 } 33 34 void listen (){ 35 System.out.println("我是父类 语言 听"); 36 } 37 void speak(){ 38 System.out.println("我是父类 语言 说"); 39 } 40 void read(){ 41 System.out.println("我是父类 语言 读"); 42 } 43 44 }
1 package Jicheng; 2 3 public class HanYu extends YuYan{ 4 5 6 7 void write(){//子类中独有的写方法 8 System.out.println("我是子类 汉语 写"); 9 } 10 void read(){//改写父类中读的方法 11 System.out.println("我是子类 汉语 读"); 12 } 13 14 }
1 package Jicheng; 2 3 public class TestHanYu { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 HanYu hantest=new HanYu(); 10 11 12 13 hantest.listen();//继承父类中的听方法 14 hantest.speak();//继承父类中的说方法 15 hantest.read();//子类重写了父类中读的方法 输出显示调用的子类方法 16 17 hantest.write();//调用的子类中的写方法(父类中没有) 18 19 20 YuYan xs=new HanYu();//从汉语类到语言类 向上转型 21 xs.read();// 调用子类中重写的 读的方法 22 //ws.write(); 向上转型时 子类中特有的方法 无法被实例后调用 调用报错 23 HanYu xx=(HanYu) xs; //向下 强制 转型 24 xx.write();//由向上转型,到强制向下转后,可以调用子类中独有的写方法