常用类
一、内部类
内部类分类
- 成员内部类
- 静态内部 类 (在成员内部类前面加一个static)
- 局部内部类(在方法内部的的类)
- 匿名内部类 (不继承类 直接new xxx接口)
1.1成员内部类
Inner inner=new Outer().new Inner();
1.2静态内部类
Outer.Inner inner = new Outer.Inner();
Outer.Inner.show();
1.3局部内部类
- 在方法内部定义的类, 要在方法的内部去创建局部内部类的对象
利用对象去调用内部类的方法。
- 而在Test类当中,直接创建外部类,使用外部类的对象调用哪个方法
方法的内部类 中要想取到方法的局部变量就要用到传参
1.4匿名内部类
需要继承一个父类或者一个借口 但是不想实现另外创建一个类去实现它,比如接口的的匿名内部类,,new User(){
//方法的实现
}
方法的调用
二、Object
概念:object 是所有了类的直接或者间接的父类。
查看当前的类有哪些属性CTRl+O
2.1常用的方法
- getClass(): //获取对象类型的全路径名字
对象.getClass();
就算是装箱 getClass的名字还是后面的对象也就是new 后面的类
- hashCode() //对象的唯一码
每个对象有一个唯一码,可以用来判断对象是否为同一个;
- toString()
重写tostring 方法,打印输出对象属性值转换成字符串 的方法
-
equals()
字符串类型也有一个equals方法,拿到String后再去比较
而类的重写则是在实例化对象的的类当中去重新写Equals方法,传进来的对象类型,首先判断是否为对象类型 返回的是boolean类型
在实现类当中调用equals方法就直接是的 对象.equals(对象)
三、包装类
包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址;基本类型不是
3.1包装类的装箱 拆箱
其实,当我们直接给一个Integer赋予一个int值的时候,它会调用一个valueOf()的方法。所以,如上代码就相当于:
Integer a = Integer.valueOf(0); =》Integer=0;
3.2整数缓冲区
-
Integer的常量池是由-128至127组成。当我们给一个Integer赋的值在这个范围之类时就直接会从缓存返回一个相同的引用,所以ab会输出true。而超过这个范围时,就会重新new一个对象。因此,fd就会输出一个false。
-
Integer a=Integer.valueof(200) 就会是new一个 如果是-128-127就是同一个
-
混合的 Integer a=128; int a =128 时 两个数是相等的
3.3默认值
-
基本类型默认为0,包装类型为NULL
-
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i8kEC3w1-1596621479723)(C:\Users\zsh\AppData\Roaming\Typora\typora-user-images\image-20200803190910100.png)]
要转成什么形状就是用什么的 包装类。parsexxx
四、String类型
4.1常用的String放法
- chartAt根据下标获取字符
- public boolean contains(String str) 判断当前字符串中是否包含str
- public String toUpperCase() 将小写转成大写
- public String[] split(String str) 根据str做拆分
- public String subString(int beginIndex,int endIndex) 在字符串中截取出一个子字符串
- 忽略大小写相等 equalsIgnoreCase()
- replace (oldStr, newStr) 返回取代 一段的字符串
五、StringBuilder可变字符串
在内存中创建可变的缓冲区 ,频繁的对字符串进行添加的操作
有string的频繁拼接操作就是用StringBuilder
六、BigDecimal
使用bigdecimal的作用用于进去计算浮点数
涉及到金额的都用BigDecimal.(无脑的去使用)
- new BigDecimal("") 参数列表 字符串和数字的输出不一样 一般都使用字符串
- 方法 add substract mu div
除法可以指定保留小数位数和取值方式
七、Date Calendar SimpleDateFormat
- Date表示时间精确到毫秒
- Calendar 的add方法就是增加某一个属性增加或者减少一个属性值
- after before 就是在他前面还是在他的后面
八 system
- static long currentTimeMillis() 当前的系统的时间毫秒