MSPM33 UNICOMM SPI寄存器深度解析:从时钟配置到DMA中断实战
2026/7/23 13:35:00
Java内部类是定义在另一个类内部的嵌套类,自Java 1.1引入。其核心特征包括:
classOuter{privateintouterField=10;classInner{publicvoiddisplay(){System.out.println("Outer field: "+outerField);// 可访问外部类私有成员}}}// 创建方式:需要先创建外部类实例Outerouter=newOuter();Outer.Innerinner=outer.newInner();特点:
classOuter{privatestaticintstaticField=20;staticclassStaticInner{publicvoiddisplay(){System.out.println("Static field: "+staticField);}}}// 创建方式:可直接创建,不需要外部类实例Outer.StaticInnerstaticInner=newOuter.StaticInner();特点:
classOuter{publicvoidsomeMethod(){finalintlocalVar=10;// 必须是final或effectively finalclassLocalInner{publicvoiddisplay(){System.out.println("Local variable: "+localVar);}}LocalInnerlocalInner=newLocalInner();localInner.display();}}特点:
// 实现接口的匿名内部类Runnablerunnable=newRunnable(){@Overridepublicvoidrun(){System.out.println("Running...");}};// 继承类的匿名内部类Buttonbutton=newButton();button.addActionListener(newActionListener(){@OverridepublicvoidactionPerformed(ActionEvente){System.out.println("Button clicked");}});特点:
当内部类与外部类有同名变量时,访问优先级为:
局部变量 > 内部类成员变量 > 外部类成员变量
classOuter{Stringname="外部类变量";classInner{Stringname="内部类变量";voidmethod(Stringname){// 局部变量System.out.println(name);// 局部变量System.out.println(this.name);// 内部类变量System.out.println(Outer.this.name);// 外部类变量}}}内部类是Java中一个强大而灵活的特性,合理使用可以显著提高代码的组织性和可维护性,但过度使用可能导致代码复杂度增加,需要根据具体场景权衡使用。