博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中的Object类
阅读量:5278 次
发布时间:2019-06-14

本文共 2166 字,大约阅读时间需要 7 分钟。

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.ObjectObject[]之间有什么区别?

     答: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集合部分有实际应用    

转载于:https://www.cnblogs.com/Chenglei789/p/7573606.html

你可能感兴趣的文章
Excel操作快捷键
查看>>
Git之(三)辅助命令
查看>>
JSP自定义方法库
查看>>
android textView中实现html效果
查看>>
《摇滚南京》——"人生下来就是孤独"
查看>>
Oracle中Union与Union All的区别(适用多个数据库)
查看>>
String = ""和String = null的区别
查看>>
C#测试题若干,都是基础阿
查看>>
NetWork——关于TCP协议的三次握手和四次挥手
查看>>
如果TCP采用两次握手
查看>>
An easy problem
查看>>
MauiMETA工具的使用(一)
查看>>
LeetCode: Anagrams 解题报告
查看>>
django 三件套(render,redirect,HttpResponse)
查看>>
用cookie登录慕课网络教学中心刷评论
查看>>
在linq to entities中无法使用自定义方法
查看>>
(周三赛)A==B?
查看>>
MySQL基础
查看>>
PostgreSQL配置优化
查看>>
【转载】总结一下Android中主题(Theme)的正确玩法
查看>>