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

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()

猜你喜欢

转载自blog.csdn.net/u014112584/article/details/42740689
今日推荐