标签:string private gen play com str main 删除 类方法
练习2: 从Detergent 中 继承产生一个新的类。覆盖scrub() 并添加一个名为sterilize() 的新的方法。
一:我的答案:
1 package com.learnJava.test; 2 3 /** 4 * @Author zhuchangli 5 * @Date 2019/9/14 6 **/ 7 class Cleanser{ 8 private String s = "Cleanser"; 9 public void append(String a) { s += a; } 10 public void dilute(){ append("dilute()"); } 11 public void applay(){append("applay()");} 12 public void scrub(){append("scrub()");} 13 public String toString(){return s;} 14 15 public static void main(String [] args){ 16 Cleanser x = new Cleanser(); 17 x.dilute(); 18 x.applay(); 19 x.scrub(); 20 System.out.println(x); 21 } 22 } 23 //洗涤剂 24 public class Detergent extends Cleanser{ 25 public void scrub(){ 26 append("Detergent.scrub()"); 27 super.scrub(); 28 } 29 30 // foam 泡沫 31 public void foam(){ append("foam()");} 32 33 public static void main(String [] args){ 34 Detergent x = new Detergent(); 35 x.dilute(); 36 x.applay(); 37 x.scrub(); 38 x.foam(); 39 System.out.println(x); 40 System.out.println("Testing base class"); 41 Cleanser.main(args); 42 } 43 }
1 package com.learnJava.test; 2 3 /** 4 * @Author zhuchangli 5 * @Date 2019/9/14 6 **/ 7 public class Sterilize extends Detergent{ 8 public void scrub(){ 9 append(" Sterilize.scrub()"); 10 } 11 12 public void sterilize(){ 13 append("sterilize()"); 14 } 15 16 public static void main(String [] args){ 17 Sterilize s = new Sterilize(); 18 s.scrub(); 19 System.out.println(s); 20 } 21 }
二:参考答案:
1 package com.learnJava.test; 2 3 /** 4 * @Author zhuchangli 5 * @Date 2019/9/14 6 **/ 7 8 // 消毒 9 public class Sterilizer extends Detergent{ 10 public void scrub(){ 11 append("Sterilizer scrub()"); 12 } 13 14 public void sterilizer(){ 15 append(" Detergent sterilizer()"); 16 } 17 18 public static void main(String [] args){ 19 Sterilize s = new Sterilize(); 20 s.dilute(); 21 s.applay(); 22 s.scrub(); 23 s.foam(); 24 s.sterilize(); 25 System.out.println(s); 26 System.out.println("Testing base class: "); 27 Detergent.main(args); 28 } 29 }
继承类的 都是相同的。
三:总结
1,在每个类中都设置一个main()方法的技术可以使每个类的单元测试都变得简便易行,而且在完成单元测试之后也不用删除main() 方法,可留作下次测试。
2,为了继承,一般的规则是将所有的数据成员都指定为private,将所有的方法指定为public。如本节 Cleanser 没有加任何访问权限修饰词,那么默认的访问权限为包访问权限,仅允许包内成员访问,如果从其他包中继承Cleanser,那么只能访问public成员。
3,采用super 调用基类方法,在scrub中,并不能直接调用scrub() 方法,因为将产生递归。
标签:string private gen play com str main 删除 类方法
原文地址:https://www.cnblogs.com/changlili/p/11519512.html