Java常用类
Object: hashcode toString clone getClass notify wait equals
Math
Random
File: 创建 查看 修改 删除
包装类:自动装箱和拆箱
Date类 Date SimpleDateFormat Calendar
String类:不可变性
StringBuffer:可变长 append() 多线程数据量较大 效率低 安全
StringBuilder:可变长 单线程数据量较大 效率高,不安全
内部类
编译之后可生成独立的字节码文件
内部类可直接访问外部类的私有成员,而不破坏封装
可为外部类提供必要的内部功能组件
1、成员内部类
在类的内部定义,与实例变量、实例方法同级别的类
外部类的一个实例部分,创建内部类对象时,必须依赖外部类对象
重名时优先访问内部类,要想访问外部类,则Outer.this.name
成员内部类中不允许定义静态成员,但可以包含静态常量,即private static final可以
Outer outer = new Outer();
Inner inner = outer.new Inner();
可合写为:
Inner inner = new Outer().new Inner();
2、静态内部类
不依赖外部类对象,可直接创建或通过类名访问,可声明静态成员
级别和外部类相同,在静态内部类中访问外部类对象需要Outer outer = new Outer(); outer.name
直接调用静态内部类:Outer.Inner inner = new Outer.Inner();
3、局部内部类
定义在外部类方法中,作用范围和创建对象范围仅限于当前方法(局部内部类前不能添加任何访问修饰符,如private)
一般需要在外部类中对局部内部类进行使用
局部内部类中访问外部类当前方法中的局部变量时,该局部变量必须加final,为了保障变量的生命周期与自身相同
局部内部类中不能包含静态变量,但final static例外
限制类的使用(只能在当前方法内使用)
4、匿名内部类
没有类名的局部内部类(一切特征都与局部内部类相同)
必须继承一个父类或者实现一个接口
实际上是定义类、实现类、创建对象的语法合并,只能创建一个该类的对象
优点:减少代码量;缺点:可读性较差
Usb usb = new Usb(){
public void service(){
……
}
}
usb.service();
}
Object类
超类、基类,所有类的直接或间接父类,位于继承树的最顶层
任何类,如没有书写extends显式继承某个类,都默认直接继承Object类。否则为间接继承
Object类中所定义的方法,是所有对象都具备的方法
Object类型可以存储任何对象
作为参数,可接受任何对象
作为返回值,可返回任何对象
getClass()
public final Class<?> getClass(){}
返回引用中存储的实际对象类型;

浙公网安备 33010602011771号