码迷,mamicode.com
首页 > 编程语言 > 详细

java内部类

时间:2016-05-22 12:07:16      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

在方法中定义的内部类,只能访问方法中final 类型的局部变量,这是因为在方法中定义的局部变量相当于一个常量,他的声明周期超出方法运行的声明周期,

package com.java.charpt11;

interface Outlnterface{//接口一
    public void f();
    
    
}

class OuterClass2{
    private class innerClass implements Outlnterface{
        //内部类的构造方法
        public innerClass(String s) {
            System.out.println(s);
        }
        @Override
        public void f() {
        System.out.println("访问内部类中的f()方法");

 

 

 


            
        }    
    }
    public Outlnterface doit()
    {
        return new innerClass("放问内部类构造方法");
    }    
}
interface OutLnterface2 //接口2
{
    }
class OuterClass3{
    public OutLnterface2 doit(final String x)//doit方法参数为final类型
    {
        
        
        class InnerClass2 implements OutLnterface2
        {
            public InnerClass2(String s) {
                s=x;
                System.out.println(s);
            }
            
            
        }
        
        return new InnerClass2("doit");
    }
    
    
    
    
}

class OuterClass4
{
    public OutLnterface2 doit()
    {
        return new OutLnterface2(){//声明匿内部类
            private int i=0;
            public int getValue()
            {
                
                return i;
                
                
            }
            
            
            
            
        };
        
        
        
    }




}

public class InterfaceInner {
    public static void main(String[] args) {
        OuterClass2 out=new OuterClass2();
        Outlnterface outinner=out.doit();
        outinner.f();
    }

}

 

2.声明匿名累不累所有实现的代码都需要在大括号内编写,语法

return  new A(){...

//内部类体};

java内部类

标签:

原文地址:http://www.cnblogs.com/douyunqian3520/p/5516478.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!