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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值