内部类概述
概念
将类B定义在类A中,类B就称为内部类,类A则称为内部类,类A则称为类B的外部类
分类
内部类分为,成员内部类,匿名内部类,局部内部类
编译
内部类是一个独立的类,编译后,有单独的class文件,命名为:外部类+$+内部类类名标识
成员内部类
介绍
定义在成员位置(类中方法外)的类称为成员内部类
定义格式
public class 外部类{
class 内部类{
}
}
使用格式
外类名.内部类名 对象名=new 外部类型().new 内部类型();
访问特点
内部类可以直接访问外部类的成员,包括私有成员
外部类要访问内部类的成员,必须要建立内部类对象
匿名内部类
介绍
内部类的简化写法,它的本质是一个指定父类或接口(带具体实现)子类或实现类对象
意义
使用一个父类或接口中的方法需要通过 1,定义子类(实现类)2,重写方法 3,创建子类(实现类) 4,调用方法四步完成
当一个类或接口中的方法,在重写后,只需要使用一次的时候,可以使用匿名内部类简化书写
格式
new 父类名或者接口名(){//方法重写};
表示创建了new后面指定 类型的子类或者实现类对象,而不需要体现这个子类或实现类的名字(匿名)
匿名内部类使用场景
通过多态的形式指向父类引用
直接调用方法
作为方法参数传递
包装类概述
介绍
java 提供了两个类型系统,基本类型与引用类型,基本类型效率更高,引用类型封装了很多方法
为了便于操作,java为在lang包下为基本类型创建了对应的引用类型,称为包装类
分类
类型 byte short long float double boolean char int
包装类 Byte Short Long Float Double Boolean Character Integer
构造方法
public Integer (int value ) 根据int值创建Integer对象(过时)
public integer(String s) 根据String值创建Integer对象(过时) s必须是int样式的字符串
常用方法
public static Integer valueOf(int i) 返回表示指定的int 值Integer
public static Integer valueOf(string s) 返回表示指定的int 值Integer s必须是int样式的字符串
public static intValue() 返回Integer对象的int形式
装箱与拆箱
装箱:从基本类型转换为对应的包装类对象(构造方法/valueOf)
拆箱:从包装类对象转换为对应 的基本类型
自动装箱与自动拆箱
java5开始,装箱,拆箱动作可以自动完成
自动装箱:基本类型传递给包装类型
自动拆箱:包装类型传递给基本类型
基本类型与字符串的转换
基本类型转换为String
方式一:直接在基本类型后加一个空字符串 数据+“ ”
方式二:通过String类静态方法valueOf(xxx)
String转换为基本类型
方式一:指定包装类的静态方法valueOf(String s)将字符串转换为对应包装类
方式二:通过String类静态方法parseXxx(string s )将字符串转换为对应基本类型
注意事项:
String转char类型只能使用String类中非静态方法char charAt(int index)
数据要符合对应数据的类型格式