Java——Object类

object类:(可以接收所有引用类型)
object类是所有类的父类,所有类默认继承object类。
toString():取得对象信息(hash码)
System.out.println()系统输出对象时,默认会调用该对象的toString(),
若自定义类需要进行内容的输出,需要覆写toString()

使用Object接收所有类的对象
class Person{}
class Student{}
public class Test {
public static void main(String[] args) {
fun(new Person());
fun(new Student());
}
public static void fun(Object obj) {
System.out.println(obj);
}
}

equals():比较两个对象内容
object类提供的equals默认比较两个对象的地址是否相同。
public boolean equals (Object obj){
//判断地址是否相等
if (obj=this){
return true;
}
//判断传进来的对象不是Person的对象
if(!obj instanceof Person){
return false;
}
//此时需要比较两个Person对象的内容
//需要向下转型转回Person对象后比较两者的属性内容
Person per=(Person) obj;
return this.age=per.age && this.name.equals(per.name);
}

object类可以接收所有引用类型,包括接口与数组。
object类是参数的最高统一类型。

覆写toString()方法
class Person{
private String name ;
private int age ;
public Person(String name, int age) {
this.age = age ;
this.name = name ;
}
@Override
toString()的核心目的在于取得对象信息。
String作为信息输出的重要数据类型,在Java中所有的数据类型只要遇见了String并且执行了+,那么都要求将其变
为字符串后连接,而所有对象要想变为字符串就默认使用toString()方法。
public String toString() {
return “姓名:”+this.name+",年龄:"+this.age ;
}
}
class Student{}
public class Test {
public static void main(String[] args) {
fun(new Person(“yuisama”,25) );
fun(“Hello”);
}
public static void fun(Object obj) {
System.out.println(obj.toString()); // 默认输出对象调用的就是toString()方法
}
}

使用Object接收接口对象
Object真正达到了参数的统一,如果一个类希望接收所有的数据类型,就是用Object完成。
interface IMessage {
public void getMessage() ;
}
class MessageImpl implements IMessage {
@Override
public String toString() {
return “I am small biter” ;
}
public void getMessage() {
System.out.println(“比特欢迎你”);
}
}
public class Test {
public static void main(String[] args) {
IMessage msg  = new MessageImpl() ; // 子类向父接口转型
Object obj = msg ; // 接口向Obejct转型
System.out.println(obj);
IMessage temp = (IMessage) obj ; // 强制类型转换
temp.getMessage();
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SDO(Service Data Object)是一种数据访问和操作的模型,它可以在不同的应用程序之间共享数据。SDO定义了一组API,用于访问和操作数据对象。在Java中,SDO的实现称为SDO for Java。 在SDO for Java中,DataObject是SDO的核心概念之一。DataObject是一个Java对象,它可以表示任意型的数据。SDO for Java提供了一组API,用于创建、访问和操作DataObject。 DataObject具有以下特点: 1. 动态属性:DataObject可以动态添加和删除属性,而不需要在定义时指定属性。 2. 支持继承:DataObject可以继承自其他DataObject,继承可以实现数据的重用。 3. 支持多重值:DataObject的属性可以是多重值,可以包含多个值。 4. 支持关联:DataObject可以与其他DataObject建立关联,形成一个对象图。 SDO for Java提供了一组API,用于访问和操作DataObject。例如,可以使用以下代码创建一个DataObject: ``` DataObject dataObject = dataFactory.create("uri", "typeName"); ``` 其中,dataFactory是SDO的工厂,"uri"和"typeName"分别表示DataObject的命名空间和型名。 创建DataObject后,可以使用以下代码设置和获取属性值: ``` dataObject.set("propertyName", propertyValue); Object value = dataObject.get("propertyName"); ``` 其中,"propertyName"表示属性名,propertyValue表示属性值。 除了设置和获取属性值外,还可以使用以下代码访问DataObject的关联: ``` DataObject relatedObject = dataObject.getDataObject("associationName"); List<DataObject> relatedObjects = dataObject.getList("associationName"); ``` 其中,"associationName"表示关联名。getDataObject方法返回与DataObject建立关联的单个DataObject,getList方法返回与DataObject建立关联的多个DataObject。 总之,DataObject是SDO for Java的核心概念之一,它提供了一种灵活、动态、可扩展的数据访问和操作模型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值