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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

wasxcwasxc 发表于 2015-10-31 16:14
内部类的生命周期和方法中的局部变量是不一样的,内部类是也是一个类,是存储在堆中,也只有当对该类的引用 ...

楼上正解
回复 使用道具 举报
class Outer{                // 定义外部类
        private String info = "hello world" ;        // 定义外部类的私有属性
        public void fun(final int temp){                // 定义外部类的方法
                class Inner{                                                // 在方法中定义的内部类
                        public void print(){                                // 定义内部类的方法
                                System.out.println("类中的属性:" + info) ;                // 直接访问外部类的私有属性
                                System.out.println("方法中的参数:" + temp) ;
                        }
                };
                new Inner().print() ;                                // 通过内部类的实例化对象调用方法
        }
};
public class InnerClassDemo{
        public static void main(String args[]){
                new Outer().fun(30) ;        // 调用外部类的方法
        }
};
在方法中定义的的内部类不能直接访问方法中的的参数,如果方法中的参数要被内部类访问,则参数前必须加上final关键字。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马