目录
类方法(静态方法)只能访问 静态变量 或静态方法
1.包装类的使用
BigInteter与BigDecimal的演示
public static void main(String[] args) {
BigInteger a = new BigInteger("11111111111111111111111111111");
BigInteger b = new BigInteger("22222222222222222222222222222");
BigInteger c = a.multiply(b);
System.out.println(c);
BigDecimal m = new BigDecimal("11111111111111.1111111111111");
BigDecimal n = new BigDecimal("22222222222222.2222222222222");
System.out.println(m.multiply(n));
BigDecimal t1 = new BigDecimal("2.0000000000001");
final BigDecimal B_INC = new BigDecimal("0.0000000000001");
final BigDecimal TARGET = new BigDecimal("2.0000000000006");
for(int i = 0;i<10;i++) {
if(t1.equals(TARGET)) {
System.out.println("成功");
}
t1 = t1.add(B_INC);
System.out.println(t1);
}
}
包装类比基本类型所计算的范围更大,计算结果也会更精准。
从基本类型转化为包装类型称为装包;而从包装类型转化为基本类型称为拆包。
2.枚举类型
枚举类型 是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。
public enum Week {
MONDAY("星期一"),
TUESDAY("星期二"),
WEDNESDAY("星期三"),
THURSDAY("星期四"),
FRIDAY("星期五");
private String name;
Week(String name){
this.name = name;
}
public String getName() {
return this.name;
}
public class TestWeek {
public static void main(String[] args) {
Week w = Week.MONDAY;
switch (w) {
case MONDAY:
System.out.println(w.getName());
break;
case TUESDAY:
System.out.println(w.getName());
break;
case WEDNESDAY:
System.out.println(w.getName());
break;
case THURSDAY:
System.out.println(w.getName());
break;
case FRIDAY:
System.out.println(w.getName());
break;
default:
break;
}
}
枚举的本质是一个final类
3.多态
1)多态满足的三个条件
·存在继承关系
·父类类型 引用名 = new 子类类型()
·存在方法重写
2)A instanceOf B 可以查看A是否为B的子类
3)java的动态绑定机制
1.当调用对象方法的时候,该方法会与该对象的内存地址/运行类型绑定。
2.当调用对象属性时,没有动态绑定机制,哪里声明,哪里使用。