成员内部类:
1.在类的内部定义,与实例变量、实例方法同级别的类。
2.外部类的一个实例部分,创建内部类对象时,必须依赖外部类对象。
3.当外部类、内部类存在重名属性时,会优先访问内部类属性。(注:如果不写,会优先访问内部类;如果想访问外部类则需要加上 Outer.this)
4.成员内部类不能定义静态成员,如static(但是可以包含静态常量,如final)
例
:
输出结果:
如果外部类属性名字和内部类属性名字一样时,想继续访问外部类属性时,需要加上 类名.this.
例:
输出结果:
public class Outer {
//外部类
private String name="张三";
private int age=20;
//内部类
class Inner{
private String address="北京";
private String phone="110";
//方法
public void show(){
//打印外部类的属性
System.out.println(name);
System.out.println(age);
//打印内部类的属性
System.out.println(address);
System.out.println(phone);
}
}
}
public class TestOuter {
public static void main(String[] args) {
//1创建一个外部类对象
Outer outer=new Outer();
//2创建内部对象
Outer. Inner inner=outer.new Inner();
//二合一,一步到位
Outer.Inner inner1=new Outer().new Inner();
inner.show();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端