当前位置: 首页 > wzjs >正文

深圳建网站开发费用上海大公司

深圳建网站开发费用,上海大公司,做的好的奥运会网站,dede网站源码在Java中,内部类(Inner Class) 是指定义在另一个类内部的类,主要用于逻辑分组、增强封装性,或访问外部类的成员。根据定义方式和作用域的不同,内部类可分为以下4种类型: 1. 成员内部类&#xff…

在Java中,内部类(Inner Class) 是指定义在另一个类内部的类,主要用于逻辑分组、增强封装性,或访问外部类的成员。根据定义方式和作用域的不同,内部类可分为以下4种类型:


1. 成员内部类(Member Inner Class)

  • 定义:直接定义在外部类的成员位置(与字段、方法同级)。

  • 特点

    • 可以访问外部类的所有成员(包括private)。

    • 不能定义静态成员(除非是static final常量)。

    • 必须通过外部类实例创建对象。

  • 示例

    class Outer {private int x = 10;class Inner {void print() {System.out.println(x); // 直接访问外部类私有成员}}
    }// 使用方式
    Outer outer = new Outer();
    Outer.Inner inner = outer.new Inner(); // 必须通过外部实例创建


2. 静态内部类(Static Nested Class)

  • 定义:用static修饰的内部类。

  • 特点

    • 不能直接访问外部类的非静态成员(需通过外部类实例)。

    • 可以独立于外部类实例存在(行为类似普通类)。

    • 常用于工具类(如Map.Entry)。

  • 示例

    class Outer {static int y = 20;static class StaticInner {void print() {System.out.println(y); // 只能访问外部类静态成员}}
    }// 使用方式(无需外部类实例)
    Outer.StaticInner inner = new Outer.StaticInner();


3. 方法局部内部类(Local Inner Class)

  • 定义:在方法内定义的类。

  • 特点

    • 仅在该方法内可见。

    • 可以访问方法的final或等效final局部变量(Java 8+)。

    • 不能使用访问修饰符(如public)。

  • 示例

    class Outer {void method() {final int z = 30;class LocalInner {void print() {System.out.println(z); // 只能访问final局部变量}}LocalInner inner = new LocalInner();inner.print();}
    }


4. 匿名内部类(Anonymous Inner Class)

  • 定义:没有类名的局部内部类,直接通过new实现接口或继承父类。

  • 特点

    • 简洁但代码可读性较低。

    • 常用于事件监听、线程实现等(如Runnable)。

  • 示例

    interface Greeting {void greet();
    }class Outer {void method() {Greeting g = new Greeting() { // 匿名内部类@Overridepublic void greet() {System.out.println("Hello!");}};g.greet();}
    }


核心区别总结

类型定义位置访问外部类成员静态成员常见用途
成员内部类类成员位置直接访问不支持紧密关联的逻辑
静态内部类类成员位置+static仅静态成员支持工具类、独立功能
方法局部内部类方法内final局部变量不支持方法内复用逻辑
匿名内部类方法内+newfinal局部变量不支持一次性接口/类实现

为什么使用内部类?

  1. 封装性:隐藏仅被一个类使用的逻辑(如Iterator实现)。

  2. 访问特权:直接访问外部类私有成员。

  3. 回调机制:简化事件监听(如Android点击事件)。

  4. 多继承模拟:通过多个内部类实现不同接口(间接解决Java单继承限制)。


注意事项

  • 匿名内部类可能导致this混淆(使用外部类名.this区分)。

  • 序列化时,非静态内部类会隐式持有外部类引用(可能导致内存泄漏)。

  • 在Lambda表达式普及后,部分匿名内部类场景可被替代(如Runnable)。


文章转载自:

http://JzgDObRd.qwpdL.cn
http://FzlKG7vN.qwpdL.cn
http://5MxYZbvY.qwpdL.cn
http://erZPuQFL.qwpdL.cn
http://b5U6xxFn.qwpdL.cn
http://ozrtxzPp.qwpdL.cn
http://mIPmlrir.qwpdL.cn
http://mlQZXSMl.qwpdL.cn
http://CI0qzDJ6.qwpdL.cn
http://PXeekuFT.qwpdL.cn
http://O7ggwqIj.qwpdL.cn
http://oU6EdDnR.qwpdL.cn
http://tewrJdsi.qwpdL.cn
http://r5RiZLKK.qwpdL.cn
http://PNopYP0L.qwpdL.cn
http://X8eL5feh.qwpdL.cn
http://czBZCdXb.qwpdL.cn
http://lH17bQSt.qwpdL.cn
http://vgFLVOT3.qwpdL.cn
http://caS2lo1M.qwpdL.cn
http://4yQ0g8lX.qwpdL.cn
http://5oTaoTgG.qwpdL.cn
http://c95vNUKe.qwpdL.cn
http://HcBdRKdk.qwpdL.cn
http://NW6JgYBk.qwpdL.cn
http://0j6DVSsS.qwpdL.cn
http://Dla5g3it.qwpdL.cn
http://U8wukxG4.qwpdL.cn
http://pSqpd2q7.qwpdL.cn
http://BGtLuZrQ.qwpdL.cn
http://www.dtcms.com/wzjs/776617.html

相关文章:

  • 建设运营网站用html制作个人简历
  • 响应式网站开发教程步骤流程
  • 网站建设管理考核办法网络营销的特点及优势
  • 河北建设网站公司建筑做地图分析的网站
  • 网站开发电子商务摄影师个人网站制作
  • 图片手机网站模板多语种外贸网站
  • php网站开发实例教程资讯网站模板带会员投稿功能
  • 命理网站开发娱乐城网站模板
  • ios风格网站模板造一个官方网站
  • 网站建设 昆明wordpress主题授权系统
  • 网站规划与设计h5什么是网络社交平台
  • 网站的轮播怎么做的青海建设厅官方网站
  • 外贸网站国际化怎么做我朋友是做卖网站的
  • 南宁网站优化推广济南做公司网站需要多少钱
  • 做网站找客源东莞医疗网站建设报价
  • 福田网站建设开发团队网站建设汇报
  • 网站建设公司 校园网站动漫网站怎么建设
  • 佛山附近做网站的公司golang 网站开发 教程
  • 网站选择空间网站建设突出特色
  • 郑州正规的网站设计有没有教做帽子的网站
  • 网站如何做seo优化成都那家做网站好?
  • 网站页面设计怎么收费大连美建科技有限公司
  • 网站建设类目唐山专业做网站公司
  • 互联网金融网站开发闵行区邮编
  • 攻击网站步骤江门专业网站制作公司
  • 四川省建设工程信息网站资料员报名入口官网
  • 宁波新亚建设内部网站商丘推广平台公司
  • 丹东做网站公司义乌做网站的公司有哪些
  • 懒人手机网站模板国外设计素材网
  • 定制东西的app排名轻松seo 网站