Java 中的继承的简单例子(super关键字)

来源:互联网 发布:caxa自动编程软件 编辑:程序博客网 时间:2024/06/02 01:26
class Cleanser{private String s="Cleanser";public void append(String a){s+=a;}public void dilute(){append("dilute()");}public void apply(){append("apply()");}public void scrub(){append("scrub()");}public String toString(){return s;}public static void main(String[]args){Cleanser x=new Cleanser();x.dilute();x.apply();x.scrub();System.out.println(x);}}public class Detergent extends Cleanser{public void scrub(){append("Detergent.scrub()");super.scrub();}public void foam(){append("foam()");}public static void main(String[] args){Detergent x=new Detergent();x.dilute();x.apply();x.scrub();x.foam();System.out.println(x);System.out.print("Testing base class:");Cleanser.main(args);}}/* * 在Detergent类中,并不能直接调用scrub(),因为这样做将会产生递归,而这并不是你所期望的。 * 为解决此问题,Java用super关键字表示超类的意思,当前类就是从超类继承来的。 */

输出:

Cleanserdilute()apply()Detergent.scrub()scrub()foam()
Testing base class:Cleanserdilute()apply()scrub()

0 0
原创粉丝点击