继承内部类
1 package test2;
2
3 public class InheritInner extends WithInner.Inner {
4
5 //No enclosing instance of type WithInner is available due to some intermediate constructor invocation
6 private WithInner.Inner wi;
7 InheritInner(WithInner wi){
8
9 //调用父类构造器,必须是第一句。形式上与通常的有点不一样(一般的为 super(),这里多了个outterclass的reference outterclass.super())。
10 wi.super();
11 this.wi=wi.new Inner(); //初始化InheritInner对象
12 }
13 public int i=2;
14 public void prt(){System.out.println(super.i);}
15
16
17 public static void main(String[] args) {
18
19 InheritInner ii=new InheritInner(new WithInner());
20
21 System.out.println(ii.wi); //test2.WithInner$Inner@8ee016
22 System.out.println(ii.i); //2
23 ii.prt(); //1
24
25 }
26
27
28
29
30 }
31
32 class WithInner{
33 class Inner{
34 public int i=1;
35 }
36 private Inner in;
37 WithInner(){
38 in=this.new Inner(); //外部类new内部类 ,初始化外部类对象
39 }
40 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决