1、Object
- Object是Java中的顶级父类。所有的类都直接或间接的继承于Object类。
- Object类中的方法可以被所有子类访问,所以我们要学习Object类和其中的方法。
方法名 | 说明 |
public Object( ) | 空参构造 |
顶级父类中只有无参构造方法class Person{ private String name; private int age; public Person( ){ super( ); } 默认空参构造 public Person(String name,int age){ super( ); this.name = name; this.age = age; } } |
Object的成员方法
- toString( ):一般会重写,打印对象时打印属性
- equals( ):比较对象时会重写,比较对象属性值是否相同
- clone( ):默认浅克隆。
- 如果需要深克隆需要重写方法或者使用第三方工具类。
方法名 | 说明 |
public String toString( ) | 返回对象的字符串表示形式 |
public boolean equals(Object obj) | 比较两个对象是否相等 |
protected Object clone(int a) | 对象克隆 |
1、toString( )
2、equals(Object obj)
测试类
3、对象克隆
把A对象的属性值完全拷贝给B对象,也叫对象拷贝,对象复制
浅克隆
不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝过来
Object中的克隆就是浅克隆
深克隆
- 基本数据类型拷贝过来
- 字符串复用
- 引用数据类型会重新创建新的
测试类
Objects
1、Objects是一个工具类,提供了一些方法去完成一些功能。
2、equals(对象1,对象2):先做非空判断,比较两个对象
3、isNull(对象):判断对象是否为空
4、noNull(对象):判断对象是否不是空
Objects的成员方法
2、BigInteger
在Java中,整数有四种类型:byte,short,int,long。
在底层占用字节个数:byte 1个字节、short 2个字节、int 4个字节、long 8个字节。
小结:
1、BigInteger表示一个大整数
2、如何获取BigInteger的对象?
BigInteger b1 = BigInteger.vaLueOf(0.1);
BigInteger b1 = new BigInteger("整数");
1、 BigInteger的构造方法
BigInteger的构造方法小结
①如果 BigInteger表示的数字没有超出long的范围,可以用静态方法获取。
②如果 BigInteger表示的超出long的范围,可以用构造方法获取。
③对象一旦创建, BigInteger内部记录的值不能发生改变。
④只要进行计算都会产生一个新的 BigInteger对象
2、BigInteger常见成员方法
3、BigInteger存储上限
①对于计算机而言,没有数据类型的概念的,都是0101010101.
②数据类型是编程语言自己规定的
存储方法:[1 , -2147483648 , 0] 数组中最多能存储元素个数:21亿多
数组中每一位能表示的数字:42亿多
BigInteger能表示的最大数字为:42亿的21亿次方
3、BigDecimal
计算机中的小数
类型 | 占用字节数 | 总bit位数 | 小数部分bit位数 |
float | 4个字节 | 32个bit位 | 23个bit位 |
double | 8个字节 | 64个bit位 | 52个bit位 |
1、BigDecimal构造方法和静态方法获取
2、BigDecimal的使用
1、BigDecimal的作用是什么?
- 表示较大的小数和解决小数运算精确度失真问题。
2、BigDecimal的对象如果获取?
- BigDecimal bd1 = new BigDecimal("较大的小数");
- BigDecimal bd2 =BigDecimal.vaLueOf(0.1);
3、常见操作
加:add 减:subtract 乘: multiply
⭐⭐除:divide (四舍五入:RounddingMode.HALF_UP)
3、BigDecimal底层存储方式
根据Ascll码表对应的数组
BigDecimal bd = new BigDecimal("0.226"); | [48, 46, 50, 50, 54] |
BigDecimal bd = new BigDecimal("123.226"); | [49, 50, 51, 46, 50, 50, 54] |
BigDecimal bd = new BigDecimal("-1.5"); | [45, 49, 46, 53] |