匿名对象指的是在创建对象是,只有创建对象的语句,却没有吧对象的地址只附给某个变量 也就是说这个对象值使用一次。
例如 Person p=new Person();这是普通创建对象的方法。 不要前面的变量直接写new Person()这就叫做匿名对象。
匿名对象的特点:匿名对象没有设置变量来接受地址 所以就没有变量名称,使用时直接new Person().方法就可以了,只能使用一次。
new Person().eat();
匿名对象也可以用作方法的接受参数 或者是返回值 Public static Person get(){
return new Person();
}
内部类
将类写在其他类的内部,可以写在其他类的成员位置和局部位置,这时写在其他类内部的类就称为内部类。其他类也称为外部类。
我们定义内部类时,就是一个正常定义类的过程,同样包含各种修饰符、继承与实现关系等。在内部类中可以直接访问外部类的所有成员。
成员内部类 和访问格式 外部类名.内部类名 变量名 = new 外部类名().new 内部类名();
class 外部类 {
修饰符 class 内部类 {
//其他代码
}
}
局部内部类 和访问格式 在外部类方法中,创建内部类对象,进行访问
class 外部类 {
修饰符 返回值类型 方法名(参数) {
class 内部类 {
//其他代码
}
}
}
匿名内部类
定义的匿名内部类有两个含义
临时定义某一指定类型的子类
定义后即刻创建刚刚定义的这个子类的对象
创建格式
new 父类或接口(){
//进行方法重写
};