学习内部类

什么是内部类:

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

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

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

内部类的访问特点:

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

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

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 小时前
【Go入门练中学】第2课:条件与循环
后端·学习·golang
小小de风呀10 小时前
de风——【从零开始学C++】(二十)红黑树封装map和set
c++·学习
爱吃苹果的日记本10 小时前
数据结构第四课—线性表Linear List
数据结构·学习
昌原的儿子LEO10 小时前
ARM 汇编核心知识点总结
嵌入式硬件·学习
Ray Wang10 小时前
Context上下文工程
python·学习·ai编程
百里香酚兰10 小时前
【Unity学习笔记】如何把粉色Prefab还原
笔记·学习·unity
索端阳11 小时前
ARM Day02 学习总结:ARM汇编基础核心知识点梳理
汇编·学习·arm
小叶肥辉11 小时前
LangChain链和LangGraph图的学习笔记【六】——提示语模板(3)——Few-Shot Prompting(少样本提示) 模板类
笔记·python·学习·langchain·prompt·aigc
for_ever_love__12 小时前
爬虫项目: 获取高分电影的数据总结
开发语言·python·学习
syagain_zsx13 小时前
算法基础篇 · 02 高精度(C++ 题解)
开发语言·c++·学习·高精度