
/**
* 测试非静态内部类的使用
* 内部类分为成员内部类、匿名内部类和局部内部类 , 成员内部类分为非静态内部类和静态内部类
* 编译后内部类和外部类会分成两个class文件 外部类名.class和 外部类名$内部类名.class
*/
public class Outer1 {
【Java|java非静态内部类的使用】private int age = 5;
public void pr(){
System.out.println(\"Outer.pr\");
System.out.println(age);
public int speed = 20;
public class Inner1{
//内部类四种封装都可以使用
int age = 12;
public void pr(){
System.out.println(\"Inner.pr\");
System.out.println(age);
//调用的是Inner1的age 即this.age
System.out.println(Outer1.this.age);
//调用Outer1的age this不可省略
Outer1.this.pr();
//调用Outer1的pr()方法 this不可省略
System.out.println(speed);
//内部类中没有定义speed时会调用 Outer1.this.speed
public class TestInner {
public static void main(String[
args) {
Outer1 o1 = new Outer1();
Outer1.Inner1 i1 = new Outer1().new Inner1();
//内部类对象需要通过外部类对象new
//外部类.内部类
//非静态内部类就像外部类的成员变量 需要通过外部类的对象调用 必须用对象调对象
i1.pr();
- 英特尔|Java:为什么 Java 是软件开发人员的首选?
- javascript|鸿蒙OS3.0再被确认:7月底发布,首发机型不是华为Mate50
- javascript|大厂35岁裁员定律的真正原因,你可能想不到,老生常谈新答案。
- javascript|Web前端:NodeJS与ReactJS对比,下一个项目该选择什么?
- |对比小米12S,为何大家更愿意选择vivoX80,原因无非这3点!
- 电池|目前高性价比的4款“12+256GB”手机,优点非常突出,最低1799元
- javascript|淘宝品类券是什么?
- 华为鸿蒙系统|鸿蒙OS3.0发布日期确认,首发搭载并非Mate50系列,会有惊喜功能
- 5G|微信出现这两个界面,马上停手,这15分钟非常关键
- 小米科技|Java:Java中的多线程简介
