欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

与Object有关的问题

程序员文章站 2022-04-10 14:08:51
...

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

答:1).Object类是所有类的父类,位于java.lang包中。
2).数组也是Object类的子类。
3).Object类的常用方法有:
— toString();
— equals();
— hashCode();
—…

如何使用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);
}
}

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

答:1.方法中的形参是Object类型时,任何类型的参数都可以传进去执行。
2.方法中形参是Object[]类型时,只有对象数组可以传入执行。

  例:
      public static void arrayTest(Object[] obj){
     }
    public static void main(){
  Int[] array = new int[4];

  arrayTest(array)  //错误出现
}

什么是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);
}

打印: [email protected];
例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

什么是hashCode方法?

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

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

答:1).如果两个对象使用equals比较返回true,那么它们的hashCode值一定要相同
2).如果两个对象equals比较返回false,那么它们的hashCode值不一定不同
3).覆盖equals,往往需要覆盖hashCode,可以使用Eclipse自动生成,保证equals返回true,则hashCode相同;equals返回false,则hashCode不同
4).在Set集合部分有实际应用

相关标签: java学习