您的位置:首页 > 移动开发 > Objective-C

有关Object类种种

2017-01-06 21:28 162 查看
Object类是所有Java类的顶层类,所有的类都默认继承了Object类,所以,所有类也都可以使用Object类中的一些方法。下面介绍Object类的一些常用的方法。

equals方法

public boolean equals(Object obj) 用于比较一个类的两个对象是否是同一个内容,与"=="不同的支出在于"=="比较的是两个对象是否引用的同一个对象,而equals方法是比较两个对象的内容是否一致。

package com.cc.demo;

public class ObjectDemo {

public static void main(String[] args) {
//新建两个内容相同,但是地址不同的String对象
String str1 = new String("Hello World");
String str2 = new String("Hello World");
//两个String引用,引用了同一个对象
String str3 = "Hello World";
String str4 = "Hello World";

//使用两种方法比较两个内容相同,地址不同的String对象
System.out.println("内容相同,地址不同,使用==的结果是"+(str1==str2));
System.out.println("内容相同,地址不同,使用equals方法的结果是"+str1.equals(str2));

//使用两个方法比较两个应用相同的String对象
System.out.println("内容相同,地址不同,使用==的结果是"+(str3==str4));
System.out.println("内容相同,地址不同,使用equals方法的结果是"+str3.equals(str4));

}
}

打印结果是:



toString方法

public String toString()方法:Object对象调用该方法返回一个能代表当前对象本身的String类型,但默认的toString方法返回的数据在使用上没有太大意义,一般Object的子类都会重写该方法,用来返回更有价值的,简单易懂的字符串。

package com.cc.demo;

import java.util.Date;

class Report{

private String title;
private String content;
private Date date;

public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
@Override
public String toString() {
return "Report [title=" + title + ", content=" + content + ", date="
+ date + "]";
}

}
public class ObjectDemo {

public static void main(String[] args) {
//新建一个Report对象,并赋值
Report report = new Report();
report.setTitle("我在写代码");
report.setContent("我写的代码都不怎么样啊,需要提高的太多了");
report.setDate(new Date());
//使用该类的toString方法
System.out.println(report.toString());

}
}

打印结果如图:



getClass方法

public
final Class
getClass(),对象调用该方法返回Class类型的运行类,java虚拟机在装在一个对象,都会产生一个Class对象,该对象包含了所装载类的元信息,,如类的名字、属性、方法、构造函数和父类等。
package com.cc.demo;

import java.lang.reflect.Method;
import java.util.Date;

class Report{

private String title;
private String content;
private Date date;

public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
@Override
public String toString() {
return "Report [title=" + title + ", content=" + content + ", date="
+ date + "]";
}

}
public class ObjectDemo {

public static void main(String[] args) {
//新建一个Report对象,并赋值
Report report = new Report();
report.setTitle("我在写代码");
report.setContent("我写的代码都不怎么样啊,需要提高的太多了");
report.setDate(new Date());
//返回该对象所属类的信息
System.out.println("该对象的类型是:"+report.getClass());
//返回包名
System.out.println("该类的包名是:"+report.getClass().getPackage());
//返回方法
Method[] methods = report.getClass().getDeclaredMethods();
for(Method method:methods){
System.out.println("该类的方法有:"+method.toString());
}
}
}
打印方法如下,有关该方法更多解释,请查看有关java反射机制的知识

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Object toString方法