JavaSE 基础 第42节 局部内部类

2016-06-30

package com.java1995;
/**
 * 内部测试类
 * @author Administrator
 *
 */
public class TestInner {
    
    public static void main(String[] args) {
        Outer o=new Outer();
        OutI oi=o.eat(1);
    }

}

class Outer{
    
    private String name;
    /**
     * 局部内部类
     * 在类的局部位置进行定义的类叫局部内部类
     * 定义在方法eat()中
     * 1.在局部内部类里面可以访问外部类的所有成员变量
     * 2.局部内部类在访问方法中的局部变量时,
     * 该局部变量必须是final类型
     * 为什么局部变量必须是final类型?(很难,不要求)
     * @param i
     */
    
    //接口类型的内部方法
    public OutI eat(final int i){
        
        final int count=0;

        class Inner implements OutI{
            public void innerEat(){
                System.out.println(name);
                System.out.println(i);
                System.out.println(count);
            }
        }
        
        return new Inner();
    }
}

/**
 * 接口OutI
 * @author Administrator
 *
 */
interface OutI{
    
}

【参考资料】

[1] Java轻松入门经典教程【完整版】

原文地址:https://www.cnblogs.com/cenliang/p/5630895.html