A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 姿_`态 高级黑马   /  2014-6-15 17:30  /  1584 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

interface Inter
{
        public static final int x=4;
        void method();
}
class Test
{
        int x=3;
    Inter function()
        {
                 int x=5;//就是访问这个外部类的局部变量

         return new Inter()
                 
         {
                 public void method()
                {
                        System.out.println("Inner method"+Test.this.x);
                        System.out.println("Inner method"+this.x);
                        }
         };
        }

}


class InnerClassTest
{
        public static void main(String[] args)
        {
                new Test().function().method();
        }
         
}

10 个回复

倒序浏览
知道告诉我一些
回复 使用道具 举报
你这是匿名内部类,我看了一个也不知道要怎么访问.
回复 使用道具 举报
同求高手解答,想半天没想出方法
回复 使用道具 举报
有没有高手啊,帮帮小弟吧
回复 使用道具 举报
不明白楼主的意思,,,不过你多了个冒号有错
回复 使用道具 举报
TS__likewise 发表于 2014-6-16 18:31
不明白楼主的意思,,,不过你多了个冒号有错

那里多一个冒号
回复 使用道具 举报
interface Inter
{
       // public static final int x=4;             //x被final修饰  不可被改变
        void method();
}
class T
{
        int x=3;
    Inter function()
        {
                final int x=5;//就是访问这个外部类的局部变量                        x要被final修饰

        return new Inter()       
                 
         {
                 public void method()
                {
                        System.out.println("Inner method"+T.this.x);
                      //  System.out.println("Inner method"+this.x);  这个x是访问结构中的常量x
                        System.out.println("Inner method "+ x);  //这个x是访问内部类外边的变量x  同时 x要被final修饰,增加x生命周期
                        
                        }
         };
        }

}


public class InnerClassTest
{
        public static void main(String[] args)
        {
                new T().function().method();
        }
         
}
我自己写的 你看看。
回复 使用道具 举报
墓____夜 发表于 2014-6-17 09:24
interface Inter
{
       // public static final int x=4;             //x被final修饰  不可被改变

我的问题你没有给我解决啊,我要访问的是外部类的局部变量5,还有5不需要被final
修饰,这是jdk8的新特性
回复 使用道具 举报
倒数第7个大括号
回复 使用道具 举报

这是内部类好吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马