java成员内部类
java成员内部类依赖于外部类而存在,故创建内部类需要首先创建其关联的外部类。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public class Test { public static void main(String args[]) { Inner obj = new Inner(); // 报错,No enclosing instance of type Test is accessible. } class Inner { String str; void say() { System.out.println( "From Inner class" ); } } } |
改为
Test test = new Test();
Test.Inner obj = test.new Inner();
或将内部类改为静态内部类,静态内部类不依赖于外部类。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public class Test { public static void main(String args[]) { Inner obj = new Inner(); } static class Inner { // 静态内部类不依赖于外部类 String str; void say() { System.out.println( "From Inner class" ); } } } |
也可以在外部类中添加创建内部类的函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | public class Test { public static void main(String args[]) { Test.Inner obj = new Test().getInner(); } class Inner { String str; void say() { System.out.println( "From Inner class" ); } } Inner getInner() { return new Inner(); } } |
posted on 2017-12-05 21:34 Deltadeblog 阅读(306) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步