内部类,是在类中定义一个类,内部类分为静态和局部内部类,匿名内部类等,类中的八种基本数据类型并不是对象。
内部内主要是因为不希望该类作为大家共同使用访问的类,而是将其定义成内部内,只供本类使用,当作本类一个成员使用。
1.成员内部类就是作为外部类的成员,可以直接使用外部类的所有成员和方法,即使是private的。同时外部类要访问内部类的所有成员变量、方法则需要通过内部类的对象来获取。而成员内部类不能含有static的变量和方法,原因是成员内部类需要先创建了外部类,才能创建它自己的内部类
内部类的实例化:
外部类 对象=new 外部类();
外部类.内部类 对象2=对象.内部类();
2.局部内部类是指内部类定在方法和作用域内,也可以说在方法中定义内部类称为局部内部类。
局部内部类由于是在方法中定义的,因此其作用域也是在方法内部中,方法外执行到,则被jvm回收。局部内部类的实例化也只能在方法中进行。
3.静态内部类
嵌套内部类就是修饰为static的内部类,用户可以直接引用“外部类.内部类”,普通内部类不能有static数据和static属性,也不能包含嵌套类。而嵌套类可以,但不能声明为private,一般声明 为public,方便调用。
外部类.内部类 对象=new 外部类.内部类()
2对象的包装
对于包装来说,这些类的主要用途包含以下两种
一是:作为和基本数据类型对就的类型存在,方便涉及对象的操作
二是:包含每种基本数据类型的相关属性如最大值,最小值等,以及相在的操作方法
in
装箱
是指将基本数据类型赋值给一个包装类类型,理论上说基本数据类型不可能赋值给一个对象类型的,但是装箱功能 可以满足这个功能
拆箱
是指将包装类对象直接赋值给基本数据类型,通俗地说,包装类的使用相当于基本类型的使用