Java---内部类
1.内部类
1 package Demo1.JavaSe; 2 //学习内部类 3 public class InnerClass { 4 5 private int id=10; 6 7 public void out(){ 8 System.out.println("外部类的OUT方法!!"); 9 } 10 //内部类 11 public class Inner{ 12 13 public void in(){ 14 15 System.out.println("内部类的IN方法!!"+id); 16 } 17 }18 19 }
2.静态内部类
package Demo1.JavaSe; //学习内部类 public class InnerClass { private int id=10; public void out(){ System.out.println("外部类的OUT方法!!"); } //内部类 public class Inner{ public void in(){ System.out.println("内部类的IN方法!!"+id); } } public static class Inner2{ public void in(){ //此处不能加载id,直接编译错误。 //为什么加入static后就拿不到id了,初始化先后的问题, //如果内部类是static 的,他就先初始化了 System.out.println("静态内部类的IN方法!!"); } } }
3.局部内部类
package Demo1.JavaSe; //学习内部类 public class InnerClass { private int id=10; public void out(){ System.out.println("外部类的OUT方法!!"); } //内部类 public class Inner{ public void in(){ System.out.println("内部类的IN方法!!"+id); } } public static class Inner2{ public void in(){ //此处不能加载id,直接编译错误。 System.out.println("静态内部类的IN方法!!"); } } //局部内部类 public void InnerTo(){ class InnerByFunction{ public void getByFunction(){ System.out.println("局部内部类"); } } } }
3.局部内部类:
1 interface AnonymousInner{ 2 public void AnonymousFun(); 3 }
//没有名字的内部类
new AnonymousInner() { @Override public void AnonymousFun() { System.out.println("匿名内部类!!!"); } };
测试方法:
1 //new 一个外部内 2 InnerClass innerClass = new InnerClass(); 3 4 innerClass.out(); 5 6 //new 一个内部类 7 //InnerClass.Inner inner = new InnerClass.Inner();//这样是报错的,前提它必须是静态的 8 9 InnerClass.Inner inner = innerClass.new Inner(); 10 11 //可以看出内部可以获取外部类的私有属性。 12 inner.in();
测试结果:
作者:隔壁老郭
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
Java入门到入坟
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南