学习内部类

什么是内部类:

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

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

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

内部类的访问特点:

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

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

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();
    }
}
相关推荐
外收内放11 小时前
面向对象高级(实战案例)
开发语言·python·学习
薛定e的猫咪12 小时前
(ICLR 2020)MAML 靠的不是快速学习,而是特征复用
人工智能·深度学习·学习·算法·机器学习
薛定e的猫咪12 小时前
(ICLR 2026)DF-META:面向 FJSP 的无导数元学习实例自适应调度
人工智能·深度学习·学习·算法·机器学习
别动我齐刘海15 小时前
机器人 C++ / 系统联调补强2——异常处理、Protobuf
linux·c++·人工智能·学习·算法·机器学习·机器人
一直C16 小时前
嵌入式 Linux 驱动开发学习笔记:内核定时器、platform 总线与 I²C 驱动
linux·驱动开发·嵌入式硬件·学习·imx6ull
承渊政道16 小时前
Linux网络学习【传输层协议UDP】
linux·网络·网络协议·学习·ubuntu·udp
andrsted16 小时前
练题簿免费刷题小程序:和学习搭子共用一份题库,一起刷题复习
学习·面试·微信小程序·小程序·学习方法·刷题
fqbqrr17 小时前
2610学习,ahk学习技巧
学习
fengci.17 小时前
BUUCTF(困难部分)
android·开发语言·前端·学习·php
有Li17 小时前
基于超高分辨率CT智能分割与测量的单侧梅尼埃病内耳解剖特征定量研究文献速递/医学智能体前沿
大数据·人工智能·学习·文献·医学生