学习内部类

什么是内部类:

类的五大成员:属性、方法、构造方法、代码块、内部类。

在类的里面,在定义一个内部类。

内部类表示的事物是外部类的一部分,内部类单独出现没有任何意义。

内部类的访问特点:

  • 内部类可以直接访问外部类,包括私有。

  • 外部类要访问内部类的成员,必须创建对象。

java 复制代码
package oop.innerclass.a01innerclassdemo01;

public class Car {
    String carName;
    int carAge;
    String carColor;
    public void show(Car this){
        System.out.println(this.carName);
   Engine e=new Engine();
        System.out.println(e.engineName);
    }
    class Engine{
      String engineName;
      int engineAge;
      public  void show(){
          System.out.println(engineName);
          System.out.println(carName);
      }
    }
}
package oop.innerclass.a01innerclassdemo01;

public class Test {
    public static void main(String[] args) {
        Car c=new Car();
        c.carName="宾利";
        c.carAge=1;
        c.carColor="粉色";
        c.show();
    }
}

成员内部类:写在成员位置的属于外部类的成员。

成员内部类可以被一些修饰符所修饰,比如:private、默认、protected、public、static等。

在成员内部类里面,JDK116之前不能定义静态变量,jdk16开始才可以定义静态变量。

java 复制代码
package oop.innerclass.a02innerclassdemo02;

public class Outer {
    String name;
    class Inner{

    }
}
package oop.innerclass.a02innerclassdemo02;

public class Test {
    public static void main(String[] args) {
        Outer.Inner oi=new Outer().new Inner();
    }
}
相关推荐
学运维的Kysan1 分钟前
暑假运维学习打卡第二十五天8.16
学习
键盘飞行员33 分钟前
Flutter App 全套实战学习计划:从零搭建到 APK 部署
学习·flutter
会编程的吕洞宾2 小时前
DeepAgents In Action学习(Second)
android·java·学习
我爱cope3 小时前
【计算机网络 | 数据链路层7:VLAN:一台交换机如何划分多个逻辑局域网?】
网络·学习·计算机网络
babe小鑫3 小时前
2026信管专业学习数据分析的价值
学习·数据挖掘·数据分析
编程圈子4 小时前
电机驱动开发学习25. 弱磁控制与全速域增益调度
驱动开发·学习
Be for thing4 小时前
【嵌入式成长3】STC89C51外部中断|中断原理、寄存器、中断服务函数
单片机·嵌入式硬件·学习
优化Henry5 小时前
学习笔记之爱立信站点指向证书执行
运维·服务器·网络·笔记·学习·信息与通信
IT古董7 小时前
【WMS学习笔记系列】03-功能模块设计
笔记·学习·系统架构
zyf1044168 小时前
暑期实践日志 Day31:推进修改任务,完成第五章字幕添加
学习·计算机网络·剪辑·暑期实践·课题任务·课程视频