首页 > 代码库 > Object类

Object类

Object

Object类是所有Java类的根基类

如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object

public class Person {

...

}

等价于:

public class Person extends Object {

...

}

toString方法

Object类中定义有public String toString()方法,其返回值是 String 类型,描述当前对象的有关信息。

3 在进行String与其它类型数据的连接操作时(如:System.out.println(“info”+person)),将自动调用该对象类的 toString()方法

3 可以根据需要在用户自定义类型中重写toString()方法。

equals方法

3 Object类中定义有:

2 public boolean equals(Object obj)方法

± 提供定义对象是否“相等”的逻辑。

2 Object equals 方法 定义为:x.equals ( y ) x y是同一个对象的应用时返回 true 否则返回 false

2 J2SDK提供的一些类,如String,Date等,重写了Object的equals方法,调用这些类的equals方法, x.equals (y) ,当x和y所引用的对象是同一类对象且属性内容相等时(并不一定是相同对象),返回 true 否则返回 false。

2 可以根据需要在用户自定义类型中重写equals方法。

super关键字

super是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性

 

通方法:

 

   没有顺序限制。可以随便调用。

 

    构造函数中: 任何类的构造函数中,若是构造函数的第一行代码没有显式的调用super(...);那么Java默认都会调用super();作为父类的初始化函数。 所以你这里的super();加不加都无所谓。

 

方法的重写override

 

3 在子类中可以根据需要对从基类中继承来的方法进行重写。

 

3  重写方法必须和被重写方法具相同方法名称、参数列表和返回类型

 

3  重写方法不能使用比被重写方法更严格的访问权限。(由于多态)

 

我们程序设计要追求高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。

使用访问控制符,实现封装

à范围越来越大

 

同一个类

同一个包中

子类

所有类

private

*

 

 

 

default

*

*

 

 

protected

*

*

*

 

public

*

*

*

*

封装的使用细节

类的属性的处理:

一般使用private.  (除非本属性确定会让子类继承)

提供相应的get/set方法来访问相关属性. 这些方法通常是public,从而提供对属性的读取操作。  (注意:boolean变量的get方法是用:is开头!

一些只用于本类的辅助性方法可以用private希望其他类调用的方法用public

 

Object类