第04周 预习:面向对象设计、继承与Object
一 - 为什么说Java中的所有类都is-a Object?
(1).Java中的一切都被看作是对象,所有涉及内存中元素的操作都是通过对该对象的引用这个中介来实行的。
(2).使不同对象之间可以统一、互转。例如toString,equals这类具有共性的功能便可以通过写在同一个父类的代码中来避免冗余。
二 - 在JDK文档中查找Object的toString方法。说一说,该方法有什么用?使用Eclipse查看Object的toString方法的代码,结合代码说说该代码的用途。
(1).功能是返回类名加上该对象的十六进制哈希码,中间以@连接
三 - 3.在Eclipse中查看Object的equals方法的代码,说说equals的用途。该方法被什么修饰符修饰,意味着什么?什么时候需要覆盖equals方法?结合String类的equals方法说说覆盖如何体现子类特有的特性?
(1). 判断两个对象是否相等
(2).被public修饰,意味着可以被Object的所有子类所调用,其中就包括我们所写的所有类
(3).当所写的类有着独有的逻辑相等判断条件的时候,就需要覆盖equals先等
(4).当子类某一函数的成员和父类中同名函数的成员相同的情况,会运行子类的函数。而像String类的toString便会优先比较俩个引用所指对象是否相同,再而具体比较俩个字符串四 - 如果在子类中想要复用父类的代码,要怎么办?
(1).已经覆盖掉父类函数的情况下,在第一行使用super()表示接下来调用父类的代码。
(2).没覆盖的情况下可以直接使用父类函数的代码。
五 - 可选:继承是复用代码的唯一方式吗?
(1).组合:在新类中创建已有类的对象,通过该对象来调用已有类中的非private的属性和方法
(2).public static fina来声明变量:这样声明的对象跟常量很相似,支持我们直接调用