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

Java 内部类特点及用法

2016-12-02 11:26 288 查看
1、内部类定义在成员变量位置上:可以直接访问外部类成员;可以被private和static 修饰;被static修饰的内部类只能访问外部类中的静态成员。

2、内部类定义在局部位置:也可以直接访问外部类成员;不可以被private和static 修饰;可以访问局部中的局部变量,但必须是被final修饰的。

package com.mashen.inner;

class TestInner {
private String name ;
private static int age;
static class Haha{	//定义在成员变量位置
public void test() {
age = 11;
System.out.println(age);
}
}

public void hehe(){

class Haha{		//定义在局部变量位置
public void test() {
name = "aaa";
System.out.println(name);
}
}
}
}
3、匿名内部类:必须实现或继承一个类或者借口。简单来说,就是建立一个带内容的外部类或接口的子类的匿名对象。

package com.mashen.inner;
/**
*
* 定义一个A抽象类
*
*/
public abstract class A {
public abstract void test();
}
package com.mashen.inner;

public class AnonymousClass {
String name;
public void test1(){
/**
* 匿名内部类
* 必须有继承或实现
*/
new A(){
@Override
public void test() {
name = "bbb";
}

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