当前位置: 首页> 文旅> 旅游 > 潍坊专业建站_html插件代码大全_百度词条搜索排行_免费舆情监测平台

潍坊专业建站_html插件代码大全_百度词条搜索排行_免费舆情监测平台

时间:2025/8/23 22:44:35来源:https://blog.csdn.net/lklalmq/article/details/144569742 浏览次数:0次
潍坊专业建站_html插件代码大全_百度词条搜索排行_免费舆情监测平台

回答重点

Java内部类是指:在一个类的内部定义的类,Java支持多种类型的内部类,包括成员内部类、局部内部类、匿名内部类和静态内部类。实际上内部类是一个编译层面的概念,像一个语法糖一样,经过编译器之后其实内部类会提升为外部顶级类,和外部类没有任何区别,所以在JVM中是没有内部类的概念的

内部类的主要作用:

  • 封装性:将逻辑相关的类封装的在一起
  • 访问外部类成员:内部类可以方便的访问外部类的成员变量和方法,尤其在需要操作外部类兑现的场景下非常有用
  • 简化代码:对于只在一个地方使用的小类,内部类可以减少冗余代码,简化结构
  • 事件处理:匿名内部类广泛用于实现回调函数或事件监听,简化了代码结构,特别是对于实现接口或抽象类的场景

扩展知识

四种内部类

包括:

  • 成员内部类:非静态类,作为外部类的一个成员。它可以直接访问外部类的所有成员,包括私有成员
  • 局部内部类:定义在方法或代码块中的类,仅在该方法和代码块中可见,通常用于临时的对象构建
  • 匿名内部类:没有类名的内部类,所以只能临时用一次,通常用于创建短期使用的实例对象,尤其是在接口回调或事件处理时被广泛使用
  • 静态内部类:static修饰的静态类,属于类,无法访问外部类的非静态成员,只能访问外部类的静态成员

成员内部类

public class OuterClass {private String outerField = "Outer Field";class InnerClass {void display() {System.out.println("Outer Field: " + outerField);}}public void createInner() {InnerClass inner = new InnerClass();inner.display();}
}

静态内部类

public class OuterClass {private static String staticOuterField = "Static Outer Field";static class StaticInnerClass {void display() {System.out.println("Static Outer Field: " + staticOuterField);}}public static void createStaticInner() {StaticInnerClass staticInner = new StaticInnerClass();staticInner.display();}
}

局部内部类

public class OuterClass {void outerMethod() {final String localVar = "Local Variable";class LocalInnerClass {void display() {System.out.println("Local Variable: " + localVar);}}LocalInnerClass localInner = new LocalInnerClass();localInner.display();}
}

匿名内部类

public class OuterClass {interface Greeting {void greet();}public void sayHello() {Greeting greeting = new Greeting() {@Overridepublic void greet() {System.out.println("Hello, World!");}};greeting.greet();}
}

关键字:潍坊专业建站_html插件代码大全_百度词条搜索排行_免费舆情监测平台

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: