Object类是JAVA中顶层的类,是老大。
2016-12-06 22:32
916 查看
/**Object类是JAVA中顶层的类,是老大。
*
* **/
package item;
class PersonO //实际是extends Object
{
int age;
PersonO(){}
PersonO(int age)
{
this.age=age;
}
//应该按照如下来写
public boolean equals(Object obj)
{
if(obj instanceof PersonO)
{
PersonO ren=(PersonO)obj;
return this.age==ren.age;
}else
return false;
}
//每次判断都要写判断两个人司否是同龄人
/*public boolean isSameAge(Person person)
{
return this.age==person.age;
}*/
}
class DogO
{
}
public class TestObject {
/**
* @param args
*/
public static void main(String[] args) {
// 例如:boolean equals(Object obj)//任何类型的对象都可以使用
/*PersonO p1=new PersonO();
PersonO p2=new PersonO();
boolean tt=p1.equals(p2);//返回布尔类型,ture or false
System.out.println(tt);
System.out.println(p1==p2);
DogO dog=new DogO();
boolean boo=p1.equals(dog);
System.out.println(boo);*/
PersonO p1=new PersonO();
System.out.println(p1.toString());//显示结果:item.PersonO@15db9742 对虾昂的字符串表示
System.out.println(p1.hashCode());//显示结果:366712642
System.out.println(Integer.toHexString(p1.hashCode()));//显示结果:15db9742
Class clz=p1.getClass();
String tt=clz.getName();//显示结果:item.PersonO直接得到此类的类名,字节码也被看成对象
System.out.println(p1.getClass().getName());//显示结果:item.PersonO
System.out.println(p1.getClass().getName()+"@"+Integer.toHexString(p1.hashCode()));
}
}
/*显示结果:
item.PersonO@15db9742
366712642
15db9742
item.PersonO
item.PersonO@15db9742
* */
*
* **/
package item;
class PersonO //实际是extends Object
{
int age;
PersonO(){}
PersonO(int age)
{
this.age=age;
}
//应该按照如下来写
public boolean equals(Object obj)
{
if(obj instanceof PersonO)
{
PersonO ren=(PersonO)obj;
return this.age==ren.age;
}else
return false;
}
//每次判断都要写判断两个人司否是同龄人
/*public boolean isSameAge(Person person)
{
return this.age==person.age;
}*/
}
class DogO
{
}
public class TestObject {
/**
* @param args
*/
public static void main(String[] args) {
// 例如:boolean equals(Object obj)//任何类型的对象都可以使用
/*PersonO p1=new PersonO();
PersonO p2=new PersonO();
boolean tt=p1.equals(p2);//返回布尔类型,ture or false
System.out.println(tt);
System.out.println(p1==p2);
DogO dog=new DogO();
boolean boo=p1.equals(dog);
System.out.println(boo);*/
PersonO p1=new PersonO();
System.out.println(p1.toString());//显示结果:item.PersonO@15db9742 对虾昂的字符串表示
System.out.println(p1.hashCode());//显示结果:366712642
System.out.println(Integer.toHexString(p1.hashCode()));//显示结果:15db9742
Class clz=p1.getClass();
String tt=clz.getName();//显示结果:item.PersonO直接得到此类的类名,字节码也被看成对象
System.out.println(p1.getClass().getName());//显示结果:item.PersonO
System.out.println(p1.getClass().getName()+"@"+Integer.toHexString(p1.hashCode()));
}
}
/*显示结果:
item.PersonO@15db9742
366712642
15db9742
item.PersonO
item.PersonO@15db9742
* */
相关文章推荐
- Java源码心中有数系列 java.lang.Object
- java 中的终极对象 Object
- Java Object equals()和hashCode()
- Java Basics Part 4/20 - Object & Classes
- IKM 某java题引发的思考,求大神指点?? Integer和普通的Object的区别
- java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable
- Java——JSON——JSONObject、JSONArray
- java中用ObjectMapper类实现Json与bean的转换示例
- java中集合排序,List<Map>,List<T>类型或者JSONObject的升序和降序排序
- Java.util.Arrays.deepToString(Object[])
- java.lang.IllegalArgumentException: Registered more than one instance with the same objectName
- 使用json发生java.lang.NoClassDefFoundError: net/sf/json/JSONObject异常的解决办法
- Hibernate出现java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.user
- java文件传输基础:序列化和反序列化ObjectInputStream/ObjectOutputStream
- JAVA | 12 - Object 类
- Core Java Volume I — 4.1. Introduction to Object-Oriented Programming
- android开发Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)错误
- Java I/O流-ObjectInputStream、ObjectOutputStream
- 无法解析类型 java.lang.Object。从必需的 .class 文件间接引用了它