《Java开发手册》学习进程之第11章封装类

在Java中有八种数据类型,但它们并不属于面向对象层次的内容。针对基本数据类型间的赋值、运算等操作都是依赖于值传递而不是通过引用的方式。

封装类就是将基本数据类型的数据封装在对象中,通过方法进行创建或访问的类。

基本数据类型的数据可以通过“new 封装类(基本数据类型的数据)”封装在对象中,封装类的对象引用可以在System.out.println()直接打印,显示的结果与基本数据类型的值相同。

与封装类有关的转换问题:

  • 字符串可以通过封装类的静态方法转换为基本数据类型的值。注意:封装类中的static byte parseXXX(String s, int radix)方法并不是将字符串s中的数值转换为XXX类型的radix进制的数值,而是将字符串s中的radix进制的数值转换为十进制数值。如果一不注意,就会产生与自己原以为的数值不一样的结果,甚至会在运行时产生异常。
  • 封装类的构造函数除了可以将基本数据类型的数据封装外,还可以将字符串封装。

静态工厂方法:

该方法是指通过静态方法生成实例。例如,java.lang.Class的实例都是JVM在加载一个类时自动创建的,程序无法用new语句创建一个该类的实例,因为Class类本身没有提供public的构造器。

静态工厂方法与用new调用的构造函数的区别:

  • 构造函数必须与类名相同,而静态工厂方法的方法名可以是任意的,这一特性的优点是可以提高程序代码的可读性,在方法名中能体现与实例有关的信息。
  • 一个new语句只能创建一个新的对象,而静态工厂方法每次被调用时,是否会创建一个新的对象完全取决于方法的实现。
  • new语句只能创建当前类的实例,而静态工厂方法可以返回当前类的子类的实例。

转载于:https://www.cnblogs.com/WeekeyJanelan/p/4101713.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值