Object类

  • 它是所有类的基类。
public class Person
{ }
//实际上是
public class Person extends Object
{ }

Object类的方法


toString方法

  • 返回值是一个描述当前对象有关信息的字符串。默认定义是:“类名+@+哈希编码”。
  • 推荐每个类对toString方法重写。
public class TestToString
{
public static void main(String args[])
{
Dog d = new Dog;
System.out.println("d:="+d); //系统会调用toString方法
}
}
class Dog
{
public String toString() //重写
{
return "I'm a cool Dog!";
}
}

哈希编码

  • 在Java程序中,会有很多个对象,程序执行的过程中会不断地使用这些对象。
  • Java虚拟机就要找到这些对象的地址。显然是不可能在内存中来回搜索。
  • 往往采取措施就是,用一张表来记录每个对象的位置,而这张表一般用哈希编码来记录,每个对象都有自己独一无二的哈希编码,根据这个编码就可以很快的确定这个对象的位置。
  • 它独一无二的代表了这个对象,还可以通过它来找到这个对象的位置

equals方法

  • 判断两个对象是否相同,是返回true,否则返回false。
  • 默认比较的根据是对象的地址
  • 不满足于这种比较方法,可以重写。
public class TestEquals
{
public static void main(String args[])
{
Cat c1 = new Cat();
Cat c2 = new Cat();
System.out.println(c1 == c2);
System.out.println(c1.equals(c2));
//如果不重写,以上两种写法都是比较地址,换汤不换药
}
}
class Cat
{
int color;
int height;
int weight;
//重写equals方法
public boolean equals(Object obj) //千万不能把形参写成Cat,这不符合重写的原则
{
if(obj == NULL) return false; //空引用返回false;
else
{
if(obj instanceof Cat) /判断obj是不是Cat的一个对象
{
Cat c = (Cat)obj; //Object对象强制转化为Cat对象
if(c.color == this.color&&c.herght == this.height&&c.weight == this.weight) //比较
{
return true;
}
}
}
return false;
}
}

总结


每个类从Object继承的时候,可能继承的Object中的方法已经重写。就比如String类中的equals方法已经重写。

Java Class Object的更多相关文章

  1. 理解JAVA - 面向对象(object) - 属性,方法

    理解JAVA - 面向对象(object) - 属性,方法 多态的体现:    向上造型,父类接收子类对象:向上造型:    从父类角度看不到子类独有的方法:面向对象,人类认知世界的方式:生活中每天都 ...

  2. Java class,Object,Class的区别

    代码: http://www.cnblogs.com/hongdada/p/6060487.html package com.company; public class Main { public s ...

  3. centos 解压jdk安装包方式安装jdk 出现 java/lang/NoClassDefFoundError: java/lang/Object 错误

    安装完JDK ,设定环境变量后出现这个错误: [root@localhost lib]# javacError occurred during initialization of VMjava/lan ...

  4. Java总结篇系列:java.lang.Object

    从本篇开始,将对Java中各知识点进行一次具体总结,以便对以往的Java知识进行一次回顾,同时在总结的过程中加深对Java的理解. Java作为一个庞大的知识体系,涉及到的知识点繁多,本文将从Java ...

  5. type parameters of <T>T cannot be determined; no unique maximal instance exists for type variable T with upper bounds int,java.lang.Object

    今天在进行代码检查的时候出现下面的异常: type parameters of <T>T cannot be determined; no unique maximal instance ...

  6. 解决本机安装多版本jdk导致The type java.lang.Object cannot be resolved It is indirectly referenced ...

    本机开始安装了jdk1.6,然后安装了jdk1.8 当在调自动化的时候,发现传入函数传参String类型,报错The type java.lang.Object cannot be resolved ...

  7. 使用eclipse JDT compile class,解决 无法确定 X 的类型参数;对于上限为 X,java.lang.Object 的类型变量 X,不存在唯一最大实例

    ant 命令行方式执行build javac编译class出现 泛型无法转换 无法确定 <X>X 的类型参数:对于上限为 X,java.lang.Object 的类型变量 X,不存在唯一最 ...

  8. Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object

    本地原来已经安装了JAVA JDK1.7并配置好了环境变量; 然后又安装了JDK8,想2个版本并存. 然后发现eclipse 打不开,闪退.然后查看环境: 发现 C:\Users\Administra ...

  9. 转!!java中Object转String

    Object转为String的几种形式 在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结.常用的方法有Object.toString ...

  10. eclipse中java文件报错:The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files

    问题:The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class fi ...

随机推荐

  1. echarts 点击方法总结,点任意一点获取点击数据,举例说明:在多图联动中点击绘制标线

    关于点击(包括左击,双击,右击等)echarts图形任意一点,获取相关的图形数据,尤其是多图,我想部分人遇到这个问题一直很头大.下面我用举例说明,如何在多图联动基础上,我们点击任意一个图上任意一点,在 ...

  2. yii学习笔记(6),数据库操作(增删改)

    数据库增删改操作通过活动记录实例来完成 插入记录 /* ----------添加记录---------- */ // 创建活动记录对象 $article = new Article(); $artic ...

  3. 大数据学习--day08(hnapp 后台系统开发、面向对象)

    hnapp 后台系统开发.面向对象 利用前面所学的知识,写一个控制台登陆注册后台界面 package sy180918.hnapp.array; import java.util.Arrays; im ...

  4. 通过devmem访问物理地址

    目录 1.写在前面 2.devmem使用 3.应用层 4.内核层 1.写在前面 最近在调试时需要在用户层访问物理内存,发现应用层可以使用devmem工具访问物理地址.查看源码,实际上是对/dev/me ...

  5. epoll 服务端 ET模式

    windows下IOCP, linux下 epoll. epoll模型其实也是一个同步模型,ET是epoll里面的一种模式,叫 边缘触发. 个人理解,类似于 windows下的事件选择模型.代码如下: ...

  6. (数据科学学习手札45)Scala基础知识

    一.简介 由于Spark主要是由Scala编写的,虽然Python和R也各自有对Spark的支撑包,但支持程度远不及Scala,所以要想更好的学习Spark,就必须熟练掌握Scala编程语言,Scal ...

  7. 深入理解@RequestBody注解

    我写文章历来追求通俗易懂,今天来深入探讨一下@RequestBody注解.提起这个,所有做过mvc开发的同学应该都不陌生,使用上面肯定也是信手拈来. 所以我这里就简单的提一下这个注解的使用: 1.当客 ...

  8. 利尔达CC3200模块第一篇之-wlan_ap例程测试

    1. 本次采用利尔达的CC3200模块,CC3200主时钟80M,内部没有flash,必须外接SPI Flash.本次测试采用利尔达科技的CC3200的底板和模块(左边).烧写连接VCC, GND, ...

  9. 使用union

    QUERY: explain extended ) TRACE: { "steps": [ { "join_preparation": { "sele ...

  10. PostFix支持SMTP认证

    安装cyrus-sasl yum -y install cyrus-sasl* 启动服务,开机启动 service saslauthd start chkconfig saslauthd on 配置p ...