Java 内部类特点及用法

来源:互联网 发布:国际医疗人工智能大会 编辑:程序博客网 时间:2024/05/16 11:51

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(){@Overridepublic void test() {name = "bbb";}}.test();}}




0 0
原创粉丝点击