面向对象的优点是:不造重复的轮子,也就是说不干重复的活.
java中把具有相同共性的一类事物抽象为一个类,而对象是这个类的其中一个实体.
例如:人是一个类(有共同的属性,有头发、眼睛、鼻子.....),张第三段:李第四段:王五是三个实体对象,而每个对象的属性又是不同的,例如张三是黑头发,李四是黄头发、王五是红头发.
这样复用性比较好.
一.面向对象:
①何谓对象:在面向对象程序设计中,我们将问题空间中的元素以及他们在方案空间中的的表示物称作对象(object)
所有的东西都是对象.
程序是一大堆对象的集合,他们通过消息传递,各个对象之间知道要做些什么.
每个对象都分配有自己的存储空间,可容纳其他对象.
每个对象都有一个类型.
同一类的所有对象能接收相同的消息.
-----而所有的编程语言的最终目的是提供一种抽象方法----
behavior—说明这个对象能做什么.
State—当对象施加方法时对象的反映.
依赖关系:use-a A类中的一个方法操作了另一个类中的对象.
聚合关系:has-a A类中的对象包含B类的对象.
继承关系:is-a A继承了B类,此时A类不仅有了B类的方法,还加入了自己的方法.以便我们创建我们自己需要的对象.
Java中定义的每一个类都必须继承另一个类,使用关键字extends,如果一个类在定义中不现实使用关键字extends,这个类就会隐式继承Object类.Object类又叫根超类,或基类.,我们从根超类继承来的叫子类.Java中每个类都是根超类的子类.
意味在包(package)中是可以访问的.(以上过程也可叫方案隐藏)
①.1.引用(Handle)操控对象:
当创建一个引用时必须要对其进行初始化
例: String s="happy"(未建立连接)
String s=new string("happy")与一个新的对象连接使用new .此句建立了一个引用,并且连接引用并初始化对象 赋值字符串"happy".
①.:寄存器-速度快,数量少,在cpu内部,我们对寄存器没有控制权.
对象的生存时间(lifetime)java提出的垃圾收集器可以很好的发现无须再用的对象,使用GC(grabage collector)垃圾收集器.清除对象,释放内存.
为此我们就要付出一定的运行期的开销.