您的位置:首页 > 编程语言 > Java开发

复用类-java编程思想-第七章

2014-11-02 13:51 288 查看
java实现复用代码的形式有组合和继承两种。

1.组合:has-a,就是利用已经写好的类在新类中声明就行,String s这种形式。

2.继承:is-a,用extends语法,继承的类叫扩展类,被继承的类叫基类,这次学习到了一些内部细节部分。

2.1,:扩展类会得到基类的所有域和方法,我们声明变量的时候要注意权限修饰符的作用,不能随便public了,可以用protected.

2.2:new一个扩展类时,首先调用基类的构造方法,由基类向外一个一个调用构造方法

2.2.1:默认调用无参的构造方法

2.2.2:如果基类构造方法有参数,那么扩展类的构造方法第一行必须是:super(参数),否则报错。

3.代理:这个位于组合和继承之间,像has-a的关系。就是在一个类中声明一个成员变量,类的功能用成员变量的功能来实现,这个和组合差不多,面向对象的思考方式不同。

例子:

class SpaceshipControl {
<span style="white-space:pre">	</span>public void forward() {};
}<span style="white-space: pre;"></span><pre name="code" class="java">public class SpaceShip {
<span style="white-space:pre">	</span>public SpaceshipControl control;
<span style="white-space:pre">	</span>public forward() {
<span style="white-space:pre">		</span>control.forward();
}
}




4.向上转型:其实就是子类对象转换成父类类型对象,在泛型,方法传参数中有很多地方使用到。相对的还有向下转型,以后会详细了解到。

5.final关键字:最终的,不可修改的。

5.1:final修饰类,这个类永远不能被继承和修改。

5.2:final修饰常量,这个常量无法被修改。

5.3:final修饰引用,这个引用无法替换成其他引用,但是引用里的对象内容还是可以改变的,只是引用不能改变。

6.程序设计原则

6.1:优先选择用组合或者代理,更加灵活,少用继承

6.2:程序设计的时候是一个增量过程,一点一点增加的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: