Java Class Object
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的更多相关文章
- 理解JAVA - 面向对象(object) - 属性,方法
理解JAVA - 面向对象(object) - 属性,方法 多态的体现: 向上造型,父类接收子类对象:向上造型: 从父类角度看不到子类独有的方法:面向对象,人类认知世界的方式:生活中每天都 ...
- Java class,Object,Class的区别
代码: http://www.cnblogs.com/hongdada/p/6060487.html package com.company; public class Main { public s ...
- centos 解压jdk安装包方式安装jdk 出现 java/lang/NoClassDefFoundError: java/lang/Object 错误
安装完JDK ,设定环境变量后出现这个错误: [root@localhost lib]# javacError occurred during initialization of VMjava/lan ...
- Java总结篇系列:java.lang.Object
从本篇开始,将对Java中各知识点进行一次具体总结,以便对以往的Java知识进行一次回顾,同时在总结的过程中加深对Java的理解. Java作为一个庞大的知识体系,涉及到的知识点繁多,本文将从Java ...
- 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 ...
- 解决本机安装多版本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 ...
- 使用eclipse JDT compile class,解决 无法确定 X 的类型参数;对于上限为 X,java.lang.Object 的类型变量 X,不存在唯一最大实例
ant 命令行方式执行build javac编译class出现 泛型无法转换 无法确定 <X>X 的类型参数:对于上限为 X,java.lang.Object 的类型变量 X,不存在唯一最 ...
- Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object
本地原来已经安装了JAVA JDK1.7并配置好了环境变量; 然后又安装了JDK8,想2个版本并存. 然后发现eclipse 打不开,闪退.然后查看环境: 发现 C:\Users\Administra ...
- 转!!java中Object转String
Object转为String的几种形式 在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结.常用的方法有Object.toString ...
- 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 ...
随机推荐
- Virtualization state: Optimized (version 7.4 installed)
[Virtualization state: Optimized (version 7.4 installed)] [root@localhost ~]# cd /mnt/ [root@localho ...
- 怎么将oracle的sql文件转换成mysql的sql文件
怎么将sql文件导入PowerDesigner中的方法(将oracle的sql文件转换成mysql的sql文件)呢? 怎么将xx.sql文件的数据库结构导入powerdesigner 的方法呢? 现讲 ...
- PHP中$a && $b = $c 语法的用法
$a && $b = $c 表示:如果$a为真,则执行$b = $c,否则不执行. 可以用if语句替代: if ($a) { $b = $c; } 实例: $a = true; $b ...
- 如何将24位RGB颜色转换16位RGB颜色
有许多朋友第一次使用16位彩色显示屏会遇到如何将24位RGB颜色转换为对应的16位RGB颜色的问题, 通过查阅相关资料,就写一下其中的转换原理吧,希望对大家会有所帮助. 我们知道24位RGB是分别由8 ...
- R语言爬虫:爬取包含所有R包的名称及介绍
第一种方法 library("rvest") page <- read_html("https://cran.rstudio.com/web/packages/av ...
- pascal 的字符串操作
1.ord 将字符转为 ascii码 2.chr 将ascii码转为字符 3.trunc 求整数部分 4.random , randomize 5.copy(s,i,l)从s串中截取第i个字符开始后长 ...
- 机器学习实战:决策树的存储读写文件报错(Python3)
错误原因:pickle模块存储的是二进制字节码,需要以二进制的方式进行读写 1. 报错一:TypeError: write() argument must be str, not bytes 将决策树 ...
- spring使用set方法注入的常见类型写法
首先配置spring的pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" ...
- 「题目代码」P1054~P1059(Java)
P1054 猴子吃桃 import java.util.*; import java.io.*; import java.math.BigInteger; import java.lang.Chara ...
- SQL Sever查询语句集锦
一. 简单查询简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的表或视图.以及搜索条件等. 例如,下面的语句查询testtable表中姓名为“ ...