继承和组合

1.0   继承

继承子类调用父类的方法,一般情况是不需要在子类中定义需要的类,而是直接调用父类的方法。

在继承的时候添加override注解,防止在不留心重载而非覆写了需要的方法。子类在调用父类的方法的时候一般是重写而不是重载。

而且在继承中,编译器会隐式的创建父类的构造器。如果父类没有定义默认构造器(无参构造器),则在子类中定义构造器的时候要加上super()来进行对应的构造器。

即子类只能默认调用父类的无参构造器,如果在子类中创建带参构造器而父类中没有无参构造器,则必须在子类的构造器下显示父类的带参构造器。、

E.G.:

class A{
	public A( int  i ){
	}
	public A(int  i , int b ){
	}

}


class B extends A{
	public B( int i){
	//如果不加super(i)则会报错,	
	}
	public B( int i , int b,int c){
	//super(i)或者super(b)都可以。2017.4.9(子类的构造器只能默认调用父类无参构造器,如果父类只有带参构造器则只能显示调用父类构造器。)
	}
}
 遗留问题:难道子类在创建的时候必须调用父类?为什么要这么设计呢?


2.0 组合

组合就是说在类中定义需要的类。(2017.4.9)


在网上看到有人比喻说继承就是老爸在家里帮我干了些活。而组合就是我在家里请了个老头帮我干活。


组合和继承都是在新的类中放置子对象(产生其他的对象),只不过组合是显式的进行创建,而继承则是隐性的创建。

3.0 代理

截止2017.4.9我在thinking in java 中看到的代理就是将需要的类(如某种工具类)显示的创建,然后在需要的类中将属性重写调用创建的类的方法或者属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值