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

【笔记】Think in Java 对象导论

2014-11-25 10:52 274 查看
1、类,实际上就是一个数据类型。

2、要获取对象,就必须产生对对象的请求。这些请求由对象的接口(interface)所定义

Light lt =new Light();

类型 引用 创建新对象
lt.      on();
对象名称 消息请求


3、对象是服务的提供者

4、类只暴露必要的部分,隐藏其他的部分。将实现隐藏起来可以减少bug。

5、良好的类分离的接口和实现,用public定义接口,用private定义实现。

6、protected:对于其子类是public,对于其他则是private

7、新的类可以由多个对象组合。先考虑组合,再考虑继承。

8、继承:复制现有的类(基类,父类),然后添加或修改它。一个基类包含所有导出类共享的特性。

导出类无法访问基类的private成员。导出类也复制了基类的接口。发给基类的消息也可以发给导出类。

9、两种方法使基类与导出类产生差异:一、在导出类中添加新方法。二、改变基类的方法,覆盖(overriding)


is a(无新方法)与is like a(有新方法)

10、将一个对象当做其基类的对象来对待,而不当做特定类型来对待。

11、多态:忽略类型的具体细节,仅仅与基类交互。即向上转型。

void doStuff (Shape s){

s.erase();

s.draw();

}

Circle c = new Circle();

Line l = new Line();

doStuff(c);

doStuff(l);

12、abstract类,抽象基类:希望基类仅仅表示导出类的接口。不希望创建基类的对象,只希望将对象向上转型到基类

13、abstract方法,接口方法:这是一个从此基类继承来的所有类型都具有的接口方法,。只是此时没有给它设计实现。可以在基类被继承时,实现抽象方法。

抽象方法可以将一个方法置于接口中而不必提供方法体

14、java在堆(内存池)中动态的创建对象,用new关键字来构建此动态实例。

15、容器中放任意多少个对象。通过迭代器进行元素操作

16、所有类都继承一个基类,object

17、向下转型:若容器只存储object,将对象引用置入容器中必须向上转型成Object。取出对象后用向下转型为更具体的类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: