黑马程序员——高新技术---Java基础—常用类_obiect类,Scanner类

  -----------android培训java培训、java学习型技术博客、期待与您交流!------------ 

Object

java.lang包下,使用时不需要导包。

它是所有“引用类型(包括我们自己定义的类,以及数组)”的父类

所有类都隐式的继承自Object,都是Object类的子类。

也就意味着,我们自己定义的类,即使内部什么都不定义,也会拥有一些成员--Object类继承的。

类 Object是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。

 

Object类的成员

构造方法:

public Object()

 

成员方法:

public int hashCode(){}返回该对象的哈希码值,针对不同的对象返回不同的整数

 

public final Class getClass(){}返回此 Object 的运行时类。返回的 Class 对象是由所表示类的 staticsynchronized 方法锁定的对象。

说明:返回的是Class类的对象,或者`Class的子类对象。用Class类类型接收,在查找Class类的方法,里面先掌握Class类的getName();方法。

 

public String toString(){}返回该对象的字符串表示  说明:建议所有子类都重写此方法

 

对于子类如果不重写Object类的toString方法,打印的是地址,这里虽然说没有明显的显示toString()方法,仅仅只有对象引用,但是里面原理是调用的Object类的toString()方法,打印的是地址值。如果重写了toString()方法,打印的时候如果传递的还是对象的引用,那么调用的还是子类的toString方法,打印的不是地址值,是重写了toString()的效果。因为在Eclipse中跟进源代码,调用的还是toString方法。这个要重点理解。

 

这个重写toString方法可以Eclipse自动生成。

 

public boolean equals(Object obj){}

 

Object类的equals()方法:

 1.public booleanequals(Object obj):指示其他某个对象是否与此对象"相等"

Object类的默认实现:只有当两个对象的地址相同时,才返回true;

  所以这个方法我们需要重写:重写后,我们要能判断出:两个对象,即使地址不同,只要内部存储的数据完全相同,那么就返回true;

 

 ==符号:

  1.所用在"数值类型"的操作数上,做:值是否相等的判断;

        inta = 10;

        intb = 10;

        System.out.println(a== b);

 2.作用在"引用类型"的操作数上,做:引用(地址)是否相等的判断

Studentstu1 = new Student();

   Student stu2 = new Student();

  System.out.println(stu1 == stu2);

 

equals()方法也可以Eclipse自动生成。

 

具体重写equals()方法的步骤:

1,判断obj是不是Student类型,如果不是,没有可比性,直接返回false。用interfaceof作比较。

if(!(objinstanceof Student)){

returnfalse;

}

 

2,如果是,将obj向下转型:因为要访问student的特有功能。Student stu = (Student)obj;

3判断是否相等。(这里面也要利用String类的toString方法,判断两个字符串是否相等。)

boolean b1 = (name.equals(stu.name));//String类也重写了equals(),用来判断两个字符串中存储的字符序列是否完全相同;

boolean b2 = (age ==stu.age);

return b1 &&b2;

 

protected void finalize(){}当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。

protected Object clone(){}创建并返回此对象的一个副本。


Scanner类

1.构造方法:

 Scanner sc = new Scanner(System.in);

 2.成员方法:

public int nextInt()将输入信息的下一个标记扫描为一个 int。

此方法调用 nextInt()的行为与调用 nextInt(radix) 完全相同,其中的 radix 是此扫描器的默认基数。

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

你可能感兴趣的:(java基础学习笔记,java基础,java,黑马程序员,object)