定义:
嵌套类和属性和方法相似,在Java语言中允许类是其他类的成员。它的作用是为类本身提供一种封装的机制——实现了类中有类;也是提供了一种灵活的层次化的名字命名空间和更灵活的访问控制方式。
内部类理解成类的成员,成员有4种访问权限吧,内部类也是!分别为private、protected、public以及默认的访问权限。
分类:
1. 成员内部类
2. 局部内部类
3. 匿名内部类
也可以分为静态内部类和非静态内部类;
匿名类:
没有名字的内部类,而且是必须是非静态的。因为匿名类没有名字的,所以它没有构造函数。所以在初始化的问题上,利用局部变量和形式参数来完成初始化。在GUI事件中,大量使用都是匿名内部类。
示例代码1:
package dong.test;
/**
* 匿名内部类
* new 类名或者接口(){
* ...
* }
* @author YIMA
*
*/
class test1{
private String name;
public test1(String name) {
this.setName(name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class AnonymousClassTest {
public static test1 getTest(String name){
return new test1(name){//new 一个匿名内部类
};
}
public static void main(String[] args) {
test1 t = AnonymousClassTest.getTest("匿名内部类");
System.out.println(t.getName());
}
}
结果:匿名内部类
示例代码2:
public class AnonymousClassTest {
public static void main(String[] args) {
Object object = new Object(){//匿名内部类
public boolean equals(Object obj) {//重写了equals()方法
return true;
}
};
System.out.println(object.equals("XXX"));//无论传入什么值都是true。
}
}
运行结果:true