JAVA内部类、外部类
一、内部类
内部类就是将一个类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内部类、外部类相关推荐
- java内部类外部类_Java内部类:如何在内部类中返回外部类对象
Nasted Class 的介绍,请详见参考 今天讨论的不是不是内部类的概念,而是具体使用的一个场景-如何在内部类中返回外部对象 (孤猪:我在程序里也碰到过一次这样的状况,非静态内部类可以直接调用外部 ...
- java继承a mya new c,java – 为什么外部类不能扩展内部类?
为什么我不能这样做/是否有解决方法来完成此任务: package myPackage; public class A { public class B { } } package myPackage; ...
- java 遍历所有内部类_JAVA-内部类
注意:非内部类(外部类或接口)不能被声明为private(私有的)或protected(受保护的),也不能被static修饰可以被final修饰.这是为何??? 对于外部类(顶级类)来说,只有两种修饰 ...
- Java内部类手机专卖店_JAVA——内部类的那些事儿
obj3.func(); //3.2 访问静态内部类的静态方法(通过类名访问) Outer.StaInner.staFunc(); //4 局部内部类访问局部变量 Outer obj4 = new O ...
- java内部类选择题_java内部类使用总结
1.什么是内部类? 定义在类内部的类,称之为内部类 public class Out{ class In{ //此时In就是内部类 } } 2.为什么要使用内部类? 1),增强封装,把内部类隐藏在外部 ...
- Java 内部类(本地内部类、实例内部类、静态内部类、匿名内部类)
定义在 类内部的类,叫做内部类 内部类共有:本地内部类(定义在方法里面的类).实例内部类.静态内部类.匿名内部类 目录 1. 实例内部类 2. 静态内部类 3. 匿名内部类 ------ 分 --- ...
- 深入理解Java中为什么内部类可以访问外部类的成员
内部类简介 虽然Java是一门相对比较简单的编程语言,但是对于初学者, 还是有很多东西感觉云里雾里, 理解的不是很清晰.内部类就是一个经常让初学者感到迷惑的特性. 即使现在我自认为Java学的不错了, ...
- java内部类gc_Java内部类持有外部类的引用详细分析与解决方案
在Java中内部类的定义与使用一般为成员内部类与匿名内部类,他们的对象都会隐式持有外部类对象的引用,影响外部类对象的回收. GC只会回收没有被引用或者根集不可到达的对象(取决于GC算法),内部类在生命 ...
- java内部类为什么会持有外部类的引用_java中内部类为什么会持有外部类的引用?...
当我们分析内存泄漏的场景时,总会想到不能在内部类中做耗时操作,因为它会持有外部类的因为,导致外部类的实例在生命周期结束的时候没有办法及时释放,这就造成了内存泄漏. 好像这就是一个公理一样,就是人们说着 ...
- java内部类为什么会持有外部类的引用_为什么内部类持有外部类的引?
对普通类(没有内部类的类)来说,内部类和外部类都与他无关:对有内部类的类来说,它们就是其内部类的外部类,外部类是个相对的说法,其实就是有内部类的类.所以,要回答这个问题,只需要讲解内部类是什么:Jav ...
最新文章
- Java线程---休眠问题来看并发执行
- python 列表list 合并的方法
- YAML配置:mapping values are not allowed here
- [C#]利用键代码自动转换生成字母键或其它键信息
- (59)UART外设驱动用户接收模块(四)(第12天)
- 【Qt串口调试助手】1.6 - QTimer定时自动发送
- Android NIO(Noblocking I/O非阻塞I/O)小结
- ITU-T G.1081 IPTV性能监测点 (Performance monitoring points for IPTV)
- python_datetime
- 图的实验——图的主要遍历算法实现_深度优先搜索遍历图
- R、Rstudio的下载和安装教程
- VSCode使用Windows用户名而不是config中设置的User
- 软件测试周刊(第67期):用一颗浏览的心,去看待人生,一切的得与失、隐与显,都是风景与风情。
- 我的小感悟(个人愚见)
- 关系网络lbs的应用_基于LBS的陌生人社交APP
- 新版标准日本语高级_第18课
- 元界快讯|中手游去年营收微增净利下滑,“仙剑”元宇宙今夏开测
- 文件去除git版本控制
- Distinct语法的使用
- vue 中使用$refs,报this.$refs.xxx.xxx() is not a function
热门文章
- CSS position: absolute 绝对定位精讲
- dlopen、dlsym和dlclose的使用和举例
- 公牛集团|落地采购商城,吃第一只SaaS螃蟹
- Labelme配置、标注快捷键
- mysql数据库 purge_Oracle 数据库中 drop table 与purge
- facebook,twitter的分享图片功能,facebook分享图片
- Servlet入门小知识
- 泛微E9后端学习笔记 - API接口调用过程
- 糯米团—重制“iPhone团购信息客户端”(四)
- 小学生英汉互译c语言编程,用C语言编辑的简单的英汉互译词典