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(){}

返回引用中存储的实际对象类型;

posted @ 2021-02-26 02:51  头秃1997  阅读(61)  评论(0)    收藏  举报