Java8——Object类+扩展概念

Object类的基本定义:

Object 类是所有类的父类,如果一个类定义时没有明确继承某个类,那么它就是object类的子类;

Java里面的类的继承关系一直存在(除了object);

既然 Object 类时全部类的父类,那么好处:利用Object类可以接收全部类的对象,因为可以自动转型;所以在不确定参数类型时,使用Object是最好的选择;

为什么要在Object类里面有一个无参构造方法?

  • 既然Object是所有类的父类,那么所有类对象实例化的时候,子类的构造方法一定要默认调用父类的无参构造方法;

Object 类的方法:

  • 取得对象信息:toString();如果是字符串,则直接输出内容,如果是对象,则会输出编码;可以覆写toString(),这样直接输出对象就调用了toString(),也和String输出一致了;
  • 对象比较:equals(); 

object类可以接收一切引用数据类型;

匿名内部类:

如果某一种类只使用一次,可以考虑使用匿名内部类;匿名内部类就是 new 一个对象之后,直接{},然后在花括号里面写你要实现的方法。

使用匿名内部类有一个前提:必须要基于接口或者抽象类的使用;需要强调,如果匿名内部类定义在方法里面,方法的参数或者变量要被匿名内部类所访问,那么必须加上 final 关键字(JDK1.8之后此方法被改变了)。

匿名内部类的好处就是,帮助用户减少了类文件的定义。

基本数据类型的包装类:

基本数据类型:byte(Byte)、 short(Short)、 int(Integer)、 long(Long)、 float(Float)、 long(Long)、 boolean(Boolean) char(Character);

以上给出的包装类又分为2种子类型:

  • 对象包装类(Object直接子类):Character、Boolean
  • 数值包装类(Number直接子类):Byte、Short、Integer、Float、Double、Long

Number是一个抽象类,里面一共定义了6个操作方法:intValue()、 shortValue()、 longValue()、 floatValue()、 doubleValue()、 byteValue();

装箱与拆箱:

基本数据类型与包装类,2种变量之间的转换通过以下操作:

  • 装箱操作:将基本数据类型变成包装类的形式;
  1. 每个包装类的构造方法都可以接收各自数据类型的变量;
  • 拆箱操作:从包装类种取出被包装的数据;
  1. 利用Number类中提供的一些列 xxxValue() 方法完成;

使用包装类的时候一定要记得使用equas();

现在已经支持自动拆箱与自动装箱了,在数据类型的选择上更多了一些;

数据类型转换(核心):

以String为例,使用几个代表类做说明:

  • Integer类:public static int parseInt(String s);
public class TestDemo{
    public static void main(String args[]){
        String str = "123";
        int temp = Integer.parseInt(str);
        System.out.printIn(temp * 2);
    }
}
  • Double类:public static double parseDouble(String s);
public class TestDemo{
    public static void main(String args[]){
        String str = "1.3";
        double temp = Double.parseDouble(str);
        System.out.printIn(temp * 2);
    }
}
  • Boolean类:public static boolean parseBoolean(String s);如果转换的字符串不是true 也不是 false ,那么将通过认为它是false。

 特别注意:Character类里面不存在字符串变字符的方法,String中有一个charAt()方法,可以根据索引取出字符;

基本数据类型变成字符串的操作:

  • 方法1:基本数据类型与String进行 + 操作之后是变成了连接两个字符串;该种方法在进行数据类型转换的时候会产生垃圾;
  • 方法2:public static String valueOf(数据类型 变量);因为该方法时 static 类型,所以直接由类名称调用;该种方法推荐使用,不会产生垃圾;
  • 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、付费专栏及课程。

余额充值