10.3内部类

来源:互联网 发布:principle软件 编辑:程序博客网 时间:2024/06/03 19:06

内部类:一个类定义在另一个类的内部,那么该类就被称作为内部类

内部类分为:成员内部类和局部内部类。



class Outer{class Inner{}}class  InnerClass{public static void main(String[] args) {System.out.println("Hello World!");}}





内部类:一个类定义在另一个类的内部,那么该类就被称作为内部类。内部类的class文件名:外部类$内部类。好处:便于区分该class文件是属于哪个外部类的。内部类的类别1.成员内部类成员内部类的访问方法:方法一:在外部类提供一个方法创建内部类的对象进行访问。方法二:在其他类中直接创建内部类的对象格式: 外部类.内部类 变量名 = new 外部类().new 内部类();注意:如果是一个静态内部类,那么在其他类中创建的格式如下:外部类.内部类 变量名 = new 外部类.内部类 ();内部类的好处:内部类可以直接访问外部类的所有成员。内部类的应用场景在描述一类事物的时候,发现描述的事物A内部还存在另外一个比较复杂的事物B时候,而且这个比较复杂事物B还需要访问A事物的属性等数据,那么这个时候我们就可以使用内部类描述B事物。比如:人------>心脏class 人 {血液氧气等class 心脏{}}内部类要注意的细节:1.如果外部类与内部类存在同名的成员变量时,在内部类中默认情况下是访问内部类成员变量.在内部类中可以通过“外部类.this.成员变量名”指定访问外部类的成员。2.私有的成员内部类只能在外部类提供一个方法创建内部类的对象进行访问,不能在其他类创建对象了。3.成员内部类需要出现静态成员,那么内部类本身也需要定义为静态内部类


class Outer{//成员变量private int x =100;//成员内部类private class Inner{int i = 10;int x  = 100;public void print(){int x  = 200;System.out.println("成员内部类print method "+Outer.this.x);}}//在外部的方法中创建了内部类的对象,然后调用内部 方法。public void instance(){System.out.println("X= "+x);Inner inner = new Inner();inner.print();}}//其他类class  InnerClass{class Inner{}public static void main(String[] args) {//方式一:Outer outer = new Outer();outer.instance();/*//方式二:Outer.Inner inner = new Outer().new Inner();inner.print();*/}}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 lol美服更新不了怎么办 支付宝没法实名额度上限怎么办 苹果手机软件被禁止联网了怎么办 幽灵行动荒野黑屏怎么办打开游戏 幽灵行动荒野一点战役就秒退怎么办 华为账号密码忘了怎么办 ios荒野行动掉帧怎么办 一个人心理产生极度恐慌失眠怎么办 肺被子弹打穿了怎么办 文明5完整版锁区怎么办 2017文明5锁区怎么办 软件安装了错误补丁打不开怎么办 小米sd卡不可用怎么办 电视用遥控器关上打不开了怎么办 求生之路2控制台打不开怎么办 比亚迪一键启动没反应怎么办 电动车车头锁开不了怎么办 锁里面卡了东西怎么办 电脑显示器闪屏然后黑屏怎么办 枪火游侠闪退怎么办 欧卡2气压过低怎么办 微信安装包己损坏怎么办 qq超市金币累计满了怎么办 我该怎么办?欠了那么多钱? 枪神王座被检测怎么办 酷派大神x7刷机出1004怎么办 水鬼捞锤塌方了怎么办 请事假领导不批怎么办 要请假领导不批怎么办 有急事请假不批怎么办 员工要请假不批怎么办 普法知识竞赛要重新参与怎么办 我被当兵的打怎么办 头发没了一小块怎么办 改革怎么看我该怎么办 笔记本电脑卡死了怎么办关不了机 电脑卡死了怎么办关不了机 火车上别人占座怎么办 火车上遇到占座怎么办 青少年体力差容易疲劳怎么办 四年级的孩子作业拖拉怎么办