【24】java里的继承

 1 package Objects;
2
3 /**
4 * @author LP
5 *
6 */
7 public class Cleanser {
8
9 private String m_string = new String("Cleanser");
10
11 void Append(String string){m_string += string; }
12
13 void Dilute(){Append("Dilute()"); }
14 void Apply(){Append("Apply()");}
15 void Scrub(){Append("Scrub()"); }
16 void Print(){System.out.println(m_string);}
17
18 /**
19 * @param args
20 */
21 public static void main(String[] args) {
22
23 Cleanser cleanser = new Cleanser();
24
25 cleanser.Dilute();
26 cleanser.Apply();
27 cleanser.Scrub();
28
29 cleanser.Print();
30 }
31
32 }
 1 package Objects;
2
3 /**
4 * @author LP
5 *
6 */
7 public class Detergent extends Cleanser {//java的继承关键字是extends,只允许单继承
8
9 public void Scrub(){//重写父类的方法
10 Append("Detergent.Scrub()");
11 super.Scrub();//是用super调用父类的方法
12 }
13
14 public void Foam(){//子类添加新的方法
15 Append("Foam()");
16 }
17 /**
18 * @param args
19 */
20 /**
21 * @param args
22 */
23 public static void main(String[] args) {//父类和子类都可以有自己的main函数,便于单元测试
24
25 Detergent detergent = new Detergent();
26
27 detergent.Dilute();
28 detergent.Apply();
29 detergent.Scrub();
30 detergent.Foam();
31 detergent.Print();
32
33 System.out.println("Test base class:");
34 Cleanser.main(args);//main函数可以被直接调用
35 }
36 }
37
38 //说明:倘若类的成员省略了访问权限标识,则成员默认为friendly访问权限,这样一来,就只允许对包成员进行访问,即:
39 //任何人都可以访问那些没有访问权限标识的方法,但是如果来自别的包的类继承了该包中的Cleaner类,它就只能访问那些公开的成员



转载于:https://www.cnblogs.com/Marstar/archive/2012/03/21/2409435.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值