常用类----System,Runtime,包装类
System类
currentTimeMillis()返回以毫秒为单位的当前时间(从1970.1.1开始计算)
exit(int status)终止当前的系统属性
getProperties()确定当前的系统属性
getProperty(String key)获得当前指定键指示的系统属性
nanoTime()返回最准确的可用系统计时器的当前值
gc()希望运行垃圾回收期
Runtime类
应用程序不能创建自己的Runtime实例,但是可以通过其静态方法getRuntime()获取与之关联的Runtime对象。
当前处理器数量:rt.availableProcessors()
空闲内存数:rt.freeMemory()
总内存数:rt.totalMemory()
可用最大内存数:rt.maxMemory()
什么是包装类?
JAVA是面向对象编程语言,提倡"万物皆对象",但JAVA并不完全面向对象,因为8种基本数据类型不是类。
所以他们不具有类的特性(继承、多态和封装等),也不能实例化对象。
八种基本数据类型之所以不直接设计成类,原因是为了运行效率。
JAVA设计者一方面想要提高效率,一方面还想要Java面向对象的完全性。
基本数据类型进行封装,封装成类,该类就称为包装类。所有的基本数据类型都能方便地相互转换。程序员可根据需要相互转换。
特点:
1)
除Character类和Boolean类继承自Object类,其他类都继承自Number类
2)
所有的包装类都是final类型,不能派生子类
3)
实例化包装对象后,对象中保存的基本数据的值不能改变
4)
包装类封装了基本数据类型的属性,如最大值,最小值等;以及大量有用的方法,如数据类型转换
基本数据类型与包装类型之间的转换机制:自动装箱和自动拆箱
自动装箱:将基本数据类型包装为对应的包装类对象;
自动拆箱:将包装类对象转换成对应的基本数据类型。
数字类型装箱的特殊:
1)
两个Integer对象之间也可以用 >、<等符号比较大小(两个Integer对象都是先拆箱再比较大小)
2)
两个Integer对象之间不要用==比较,原因是在[-128,127]范围内是取缓存内对象比较,所以相等;该范围外是两个不同的对象引用比较,所以不等。
注意:不要过度使用包装类型
System类
currentTimeMillis()返回以毫秒为单位的当前时间(从1970.1.1开始计算)
exit(int status)终止当前的系统属性
getProperties()确定当前的系统属性
getProperty(String key)获得当前指定键指示的系统属性
nanoTime()返回最准确的可用系统计时器的当前值
gc()希望运行垃圾回收期
Runtime类
应用程序不能创建自己的Runtime实例,但是可以通过其静态方法getRuntime()获取与之关联的Runtime对象。
当前处理器数量:rt.availableProcessors()
空闲内存数:rt.freeMemory()
总内存数:rt.totalMemory()
可用最大内存数:rt.maxMemory()
什么是包装类?
JAVA是面向对象编程语言,提倡"万物皆对象",但JAVA并不完全面向对象,因为8种基本数据类型不是类。
所以他们不具有类的特性(继承、多态和封装等),也不能实例化对象。
八种基本数据类型之所以不直接设计成类,原因是为了运行效率。
JAVA设计者一方面想要提高效率,一方面还想要Java面向对象的完全性。
基本数据类型进行封装,封装成类,该类就称为包装类。所有的基本数据类型都能方便地相互转换。程序员可根据需要相互转换。
特点:
1)
除Character类和Boolean类继承自Object类,其他类都继承自Number类
2)
所有的包装类都是final类型,不能派生子类
3)
实例化包装对象后,对象中保存的基本数据的值不能改变
4)
包装类封装了基本数据类型的属性,如最大值,最小值等;以及大量有用的方法,如数据类型转换
基本数据类型与包装类型之间的转换机制:自动装箱和自动拆箱
自动装箱:将基本数据类型包装为对应的包装类对象;
自动拆箱:将包装类对象转换成对应的基本数据类型。
数字类型装箱的特殊:
1)
两个Integer对象之间也可以用 >、<等符号比较大小(两个Integer对象都是先拆箱再比较大小)
2)
两个Integer对象之间不要用==比较,原因是在[-128,127]范围内是取缓存内对象比较,所以相等;该范围外是两个不同的对象引用比较,所以不等。
注意:不要过度使用包装类型