Java面向对象进阶篇(包装类,不可变类)

一. Java 8的包装类

       Java中的8种基本数据类型不支持面向对象的变成机制,也不具备对象的特性:没有成员变量,方法可以调用。为此,Java为这8 种基本数据类型分别提供了对应的

       包装类(Byte,Short,Integer,Long,Double,Float,Charater,Boolean)。

       从jdk 1.5开始,Java提供了自动装箱和自动拆箱的功能。自动装箱就是可以把一个基本类型变量赋给对应的包装类变量。自动拆箱与之相反。

包装类提供了基本类型变量和字符串之间的转换的方法。有两种方式把字符串类型值转换成基本类型的值

  a)利用包装类提供的parseXxx(String s)静态方法(除了Character之外的所有包装类都提供了该方法。)

  b)利用包装类提供的Xxx(String s)构造器

String类提供了多个重载valueOf()方法,用于将基本类型变量转换成字符串。

 两个128自动装箱后,比较它们的大小并不相等,因此Java 7增强了包装类的功能,为所有的包装类提供了一个静态的compare(xxx val1,xxx val2)方法,来比较两个基本类型值得大小。

Java 8再次增强包装类的功能,可以支持无符号运算。

二.处理对象

2.1 打印对象和toString方法

     System.out的println()方法和print()方法只能在控制台输出字符串。

     toString()方法是Object类里的一个实例方法,它是一个自我描述方法,所有的Java类都是Object类的子类,因此所有的Java类都有toString()方法。

       当程序员直接打印一个对象时,系统会输出该对象的“自我描述”信息,以告诉外界该对象的所有状态信息。当我们使用println()和print()方法打印一个对象时,会自动调用Object类的toString()方 法。因此,下面两行代码的效果完全一样:

System.out.println(person); System.out.println(person.toString());

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpspsd.html