-复用类-继承语法-1
Posted changlili
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了-复用类-继承语法-1相关的知识,希望对你有一定的参考价值。
练习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() 方法,因为将产生递归。
以上是关于-复用类-继承语法-1的主要内容,如果未能解决你的问题,请参考以下文章