您的位置:首页 > 编程语言 > Java开发

java-内部类

2016-05-17 00:00 471 查看
摘要: 我正在学习JAVA SE

一个类A中定义了一个类B,B就叫做内部类。

内部类分类

1 静态 static class B{.....}

可以访问外部类的静态成员和方法 A.method A.filed

可以直接在main中new一个静态内部类

2成员

class B{....}

怎么new? B b = new A().new B();

成员内部类可以访问外部类的静态和非静态成员,方法

如果外部类和内部类有重名变量A.this.filed 调用外部变量

静态内部类访问外部类静态成员不需要this指针

3局部

定义在方法中或者

局部内部类不能使用修饰符修饰

局部内部类只能访问final变量{

public void test(String s){//改成 final String s不报错 或者在方法内部把s转为final

class Inner{

public void show{

Sysout(s);

}

}

new Inner().show();

}

}

4.匿名内部类

特点:

没用名字和构造方法

首先有一个接口:

public interface MyInterface{

.............;

}

有一个类A,class A{

void test(MyInterface i){

i.xxxxxx;

}

public static void main(String[] args){

A a = new A();

a.test(new MyInterface(){

@Override

..............

});//传入了一个类作为参数,但是这个类没有名字,所以叫做匿名内部类

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: