java的object_Java中的Object类

1.什么是Object类?有哪些常用方法?

答:1).Object类是所有类的父类,位于java.lang包中。

2).数组也是Object类的子类。

3).Object类的常用方法有:

--- toString();

--- equals();

--- hashCode();

---.....

2.如何使用Object类?举例说明

答:Object类在java.lang包下,是所有类的根。任何类的对象,都可以调用Object类中的方法,包括数组对象。

例:public class Example{

Public void f(Object obj){

}

}

public class Test{

public static void main(){

Example exam = new Example();

int[] array = new int[4];

......  //任何数组

exam.f(array);

}

}

3.Object和Object[]之间有什么区别?

答:1).方法中的形参是Object类型时,任何类型的参数都可以传进去执行。

2).方法中形参是Object[]类型时,只有对象数组可以传入执行。

例:public static void arrayTest(Object[] obj){

}

public static void main(){

Int[] array = new int[4];

arrayTest(array)  //错误出现

}

4.什么是toString方法?举例说明

答:toString方法可以将任何一个对象转换成字符串返回,返回值的生成算法为:getClass().getName() +‘@’ + Integer. toHexString(hashCode())。

例1):打印对象时直接调用类的toString方法

public static void main(){

Student stu1 = new Student();

stu1.setName(“张三”);

stu1.setAge(23);

System.out.println(stu1);

System.out.println(stu1);

}

打印: Student@152b6651;

例2).类本身重写toString方法重写Student类的toString方法后

public static void main(){

Student stu1 = new Student();

stu1.setName(“张三”);

Stu1.setAge(23);

System.out.println(stu1);

}

打印:Student:name = 张三,age = 23;

例3).public class Student{

Private String name = “123”; //学生姓名

private int age;  //年龄

public String getName(){

Return name;

}

public void setName(String name){

this.name = name;

}

Public int getAge(){

Return age;

}

Public void setAge(int age){

this.age = age;

}

public String toString(){

Return “Student:” + “name=” + name + “,age=” + age;

}

}

5.如何使用equals方法和“==”?举例说明

答:1).equals方法

比较对象的虚地址,但是可以在类中被重写。

例:String类重写了,两个相同值的String对象相比较为

true;

String str = new String(“123”);

String str = new String(“123”);

System.out.println(str.equals(str1)); //打印为true

2). “=”

比较的是内存中的虚地址

String str = new String(“123”);

String str = new String(“123”);

System.out.println(str == str1); //打印为false

6.什么是hashCode方法?

答:获取对象的哈希码值,为16进制

7.equals方法与hashCode方法之间有什么关系?

答:1).如果两个对象使用equals比较返回true,那么它们的hashCode值一定要相同

2).如果两个对象equals比较返回false,那么它们的hashCode值不一定不同

3).覆盖equals,往往需要覆盖hashCode,可以使用Eclipse自动生成,保证equals返回true,则hashCode相同;equals返回false,则hashCode不同

4).在Set集合部分有实际应用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值