内部类:
就是在一个类中定义一个类
public class Outer{
public class Inner{
}
}
访问特点:
1.内部类可直接访问外部类的对象,包括私有
2.外部类要访问内部类的成员,必须创建对象
分类:
1.成员内部类
2.局部内部类:在方法中定义的类,所以外界无法直接使用,需在方法内创建对象使用,该类可直接访问外部类的成员,也可访问方法内的局部变量
3.匿名内部类:前提:存在一个类或接口,这里的类可以是具体类也可以是抽象类
匿名内部类格式:
new 类名或接口名(){
重写方法;
};
举例:
new Innter(){
public void show(){
}
};
匿名内部类的本质:是一个继承了该类或实现了该接口的子类匿名对象。
装箱与拆箱:
概念:
装箱:把基本数据类型转换为对应的包装类类型
拆箱:把包装类类型转为对应的基本数据类型
Integer i=100; //自动装箱
i+=200; //i=i+200; i+200自动拆箱; i=i+200;自动装箱
注意:在使用包装类类型时,如果做操作,最好先判断是否为null
推荐,只要是对象,在使用前就必须进行不为null的判断(null调方法空指针,报错)