一、内部类

               内部类就是将一个类A定义在类B里边,里边的那个类A称为内部类,外边的类B称为外部类

成员内部类定义格式:class 外部类{

class 内部类{

}

}

class A{class B{}}

在描述一个事物是,事物的里边还有另外一个事物就可以用到内部类

访问特点:

                1、内部类可以直接访问外部类的成员,包括私有成员。

                2、外部类要访问内部类的成员,必须要建立内部类的对象。

创建内部类格式:

                        外部类.内部类 对象名=new 外部类型().new 内部类型();

public class Test15 {public static void main(String[] args) {//创建内部类的对象shangjin.haishoujisi h=new shangjin().new haishoujisi();h.eluoyi();}
}
class shangjin{public void chuanzhang(){System.out.println("这里是外部类方法");}class haishoujisi{public void eluoyi(){System.out.println("这里是内部类方法");}}
}

二、匿名内部类

                是内部类的简化写法。它的本质是一个 带具体实现的 父类或者父接口的 匿名的 子类 对象。

匿名内部类:

                        格式:

                 外部类.内部类 对象名=new 外部类().内部类(){方法重写};
public class Test13 {public static void main(String[] args) {chide.kfc k = new chide().new kfc();//外部类对象访问内部类对象    属于内部类对象 创建格式(外部类.内部类 对象名=new 外部类().new内部类();)k.jitu();chide c = new chide();//普通外部类对象c.maintiao();System.out.println(c.money + "元   真不贵");new chide().maintiao();//匿名对象 只能是用一次 格式 new 外部类().方法名();chide.kfc kc = new chide().new kfc() {//匿名类 格式 外部类.内部类 对象名=new 外部类().内部类(){方法重写};public void jitu() {System.out.println("老八秘制小汉堡");}};//由于这个是赋值语句要在最后大括号外+上分号kc.jitu();}
}class chide {//外部类int money = 100;public void maintiao() {System.out.println("面条-----外部类的方法");}class kfc {//内部类public void jitu() {System.out.println("鸡腿-----内部类的方法");}}
}

JAVA内部类、外部类相关推荐

  1. java内部类外部类_Java内部类:如何在内部类中返回外部类对象

    Nasted Class 的介绍,请详见参考 今天讨论的不是不是内部类的概念,而是具体使用的一个场景-如何在内部类中返回外部对象 (孤猪:我在程序里也碰到过一次这样的状况,非静态内部类可以直接调用外部 ...

  2. java继承a mya new c,java – 为什么外部类不能扩展内部类?

    为什么我不能这样做/是否有解决方法来完成此任务: package myPackage; public class A { public class B { } } package myPackage; ...

  3. java 遍历所有内部类_JAVA-内部类

    注意:非内部类(外部类或接口)不能被声明为private(私有的)或protected(受保护的),也不能被static修饰可以被final修饰.这是为何??? 对于外部类(顶级类)来说,只有两种修饰 ...

  4. Java内部类手机专卖店_JAVA——内部类的那些事儿

    obj3.func(); //3.2 访问静态内部类的静态方法(通过类名访问) Outer.StaInner.staFunc(); //4 局部内部类访问局部变量 Outer obj4 = new O ...

  5. java内部类选择题_java内部类使用总结

    1.什么是内部类? 定义在类内部的类,称之为内部类 public class Out{ class In{ //此时In就是内部类 } } 2.为什么要使用内部类? 1),增强封装,把内部类隐藏在外部 ...

  6. Java 内部类(本地内部类、实例内部类、静态内部类、匿名内部类)

    定义在 类内部的类,叫做内部类 内部类共有:本地内部类(定义在方法里面的类).实例内部类.静态内部类.匿名内部类 目录 1. 实例内部类 2. 静态内部类 3. 匿名内部类 ------ 分 --- ...

  7. 深入理解Java中为什么内部类可以访问外部类的成员

    内部类简介 虽然Java是一门相对比较简单的编程语言,但是对于初学者, 还是有很多东西感觉云里雾里, 理解的不是很清晰.内部类就是一个经常让初学者感到迷惑的特性. 即使现在我自认为Java学的不错了, ...

  8. java内部类gc_Java内部类持有外部类的引用详细分析与解决方案

    在Java中内部类的定义与使用一般为成员内部类与匿名内部类,他们的对象都会隐式持有外部类对象的引用,影响外部类对象的回收. GC只会回收没有被引用或者根集不可到达的对象(取决于GC算法),内部类在生命 ...

  9. java内部类为什么会持有外部类的引用_java中内部类为什么会持有外部类的引用?...

    当我们分析内存泄漏的场景时,总会想到不能在内部类中做耗时操作,因为它会持有外部类的因为,导致外部类的实例在生命周期结束的时候没有办法及时释放,这就造成了内存泄漏. 好像这就是一个公理一样,就是人们说着 ...

  10. java内部类为什么会持有外部类的引用_为什么内部类持有外部类的引?

    对普通类(没有内部类的类)来说,内部类和外部类都与他无关:对有内部类的类来说,它们就是其内部类的外部类,外部类是个相对的说法,其实就是有内部类的类.所以,要回答这个问题,只需要讲解内部类是什么:Jav ...

最新文章

  1. Java线程---休眠问题来看并发执行
  2. python 列表list 合并的方法
  3. YAML配置:mapping values are not allowed here
  4. [C#]利用键代码自动转换生成字母键或其它键信息
  5. (59)UART外设驱动用户接收模块(四)(第12天)
  6. 【Qt串口调试助手】1.6 - QTimer定时自动发送
  7. Android NIO(Noblocking I/O非阻塞I/O)小结
  8. ITU-T G.1081 IPTV性能监测点 (Performance monitoring points for IPTV)
  9. python_datetime
  10. 图的实验——图的主要遍历算法实现_深度优先搜索遍历图
  11. R、Rstudio的下载和安装教程
  12. VSCode使用Windows用户名而不是config中设置的User
  13. 软件测试周刊(第67期):用一颗浏览的心,去看待人生,一切的得与失、隐与显,都是风景与风情。
  14. 我的小感悟(个人愚见)
  15. 关系网络lbs的应用_基于LBS的陌生人社交APP
  16. 新版标准日本语高级_第18课
  17. 元界快讯|中手游去年营收微增净利下滑,“仙剑”元宇宙今夏开测
  18. 文件去除git版本控制
  19. Distinct语法的使用
  20. vue 中使用$refs,报this.$refs.xxx.xxx() is not a function

热门文章

  1. CSS position: absolute 绝对定位精讲
  2. dlopen、dlsym和dlclose的使用和举例
  3. 公牛集团|落地采购商城,吃第一只SaaS螃蟹
  4. Labelme配置、标注快捷键
  5. mysql数据库 purge_Oracle 数据库中 drop table 与purge
  6. facebook,twitter的分享图片功能,facebook分享图片
  7. Servlet入门小知识
  8. 泛微E9后端学习笔记 - API接口调用过程
  9. 糯米团—重制“iPhone团购信息客户端”(四)
  10. 小学生英汉互译c语言编程,用C语言编辑的简单的英汉互译词典