学习内部类

什么是内部类:

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

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

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

内部类的访问特点:

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

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

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();
    }
}
相关推荐
暗然而日章9 小时前
C++基础:Stanford CS106L学习笔记 4 容器(STL与序列容器)
c++·笔记·学习
richxu202510019 小时前
嵌入式学习之路>(二)单片机核心原理篇>1.GPIO
单片机·嵌入式硬件·学习
敲代码的嘎仔9 小时前
LeetCode面试HOT100——160. 相交链表
java·学习·算法·leetcode·链表·面试·职场和发展
敲代码的嘎仔9 小时前
LeetCode面试HOT100—— 206. 反转链表
java·数据结构·学习·算法·leetcode·链表·面试
丝斯20119 小时前
AI学习笔记整理(19)—— AI核心技术(深度学习3)
人工智能·笔记·学习
自然语9 小时前
深度学习时代结束了,2025年开始只剩下轮廓
数据结构·人工智能·深度学习·学习·算法
im_AMBER9 小时前
Leetcode 66 几乎唯一子数组的最大和
数据结构·笔记·学习·算法·leetcode
岳来9 小时前
lscpu 命令学习
学习·lscpu
TomCode先生9 小时前
2个月精通SaaS MES系统业务知识学习计划(每天2小时)
学习
●VON10 小时前
Flutter for OpenHarmony前置知识《Flutter 路由与导航完整教程》
学习·flutter·华为·openharmony·开源鸿蒙