Java常量、变量、成员内部类

1.常量

实例常量:只用final修饰,是某个具体类的实例
静态常量:final+static修饰,属于类,所有实例共享同一个类常量

2.变量

实例变量(成员变量):定义在类内部但在方法外部。
类变量(静态变量):使用 static修饰,属于类,所有实例共享同一个类变量。
局部变量:定义在方法、构造函数或块内部。仅在其所在的方法或块内有效。

3.成员内部类

成员内部类是定义在外部类内部,并且没有用 static 修饰的内部类。它是依附于外部类实例的,不能包含静态成员(除了常量)

public class Main {
    private int outerField1 = 10;
    private static int outerField2 = 8;

    public void test1(){
        System.out.println("hello1");
    }

    public static void test2(){
        System.out.println("hello2");
    }

    public class MemberInnerClass {
        public void innerMethod() {
            // 可以访问外部类的所有成员
            System.out.println("Outer field: " + outerField1);
            test1();
            System.out.println("Outer field: " + outerField2);
            test2();
        }
    }

    public static void main(String[] args) {
        Main outer = new Main();
        MemberInnerClass inner = outer.new MemberInnerClass();
        inner.innerMethod(); // 输出 "Outer field: 10" 和 "hello"
    }
}

输出如下:
X
在这个例子中,MemberInnerClass 是一个成员内部类,它可以访问外部类的所有成员

4.变动

在JDK16之前成员内部类不能有静态成员(除了常量),在JDK16之后成员内部类可以定义静态变量。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值