温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java Subclass 子类静态成员变量

发布时间:2025-10-19 00:48:11 来源:亿速云 阅读:96 作者:小樊 栏目:编程语言

在Java中,子类可以继承父类的非私有成员变量和方法。但是,静态成员变量(也称为类变量)是特殊的,因为它们属于类本身,而不是类的实例。这意味着,无论创建多少个子类实例,静态成员变量只会在内存中存在一份副本。

当子类继承父类的静态成员变量时,它实际上是在继承一个引用,该引用指向父类中定义的静态成员变量的内存地址。因此,如果子类试图修改继承自父类的静态成员变量,它实际上会修改父类中的那个变量,而不是在子类中创建一个新的变量。

下面是一个简单的例子来说明这个概念:

class Parent {
    public static int staticVar = 10;
}

class Child extends Parent {
    public void modifyStaticVar() {
        staticVar = 20; // 修改继承自父类的静态成员变量
    }
}

public class Main {
    public static void main(String[] args) {
        System.out.println("Before modification:");
        System.out.println("Parent staticVar: " + Parent.staticVar);
        System.out.println("Child staticVar: " + Child.staticVar);

        Child child = new Child();
        child.modifyStaticVar();

        System.out.println("After modification:");
        System.out.println("Parent staticVar: " + Parent.staticVar);
        System.out.println("Child staticVar: " + Child.staticVar);
    }
}

输出结果:

Before modification:
Parent staticVar: 10
Child staticVar: 10
After modification:
Parent staticVar: 20
Child staticVar: 20

从输出结果可以看出,在子类Child中修改静态成员变量staticVar的值,实际上修改的是父类Parent中的staticVar。因此,无论是通过父类还是子类访问staticVar,都会得到相同的值。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI