java如何用父类中的变量

java如何用父类中的变量

作者:William Gu发布时间:2026-02-11阅读时长:0 分钟阅读次数:5

用户关注问题

Q
如何在子类中访问父类的变量?

我创建了一个父类和一个子类,想在子类中使用父类定义的变量,该怎么实现?

A

在子类中访问父类变量的方法

如果父类中的变量被声明为public或protected,子类可以直接访问这些变量。若变量为private,可以通过父类提供的公共getter和setter方法访问。示例:

class Parent {
    protected int number = 10;
}

class Child extends Parent {
    void printNumber() {
        System.out.println(number); // 直接访问父类protected变量
    }
}
Q
能否在父类中定义变量,并由子类初始化?

父类声明了一个变量,想让子类给这个变量赋值,有什么推荐的方式?

A

让子类初始化父类变量的方案

父类变量可以通过构造方法或setter方法由子类赋值。通常父类变量为protected或private,建议提供公共方法设置值。子类调用父类的构造器或设置方法即可完成赋值。

示例:

class Parent {
    protected int number;
    public Parent(int num) {
        this.number = num;
    }
}

class Child extends Parent {
    public Child(int num) {
        super(num);
    }
}
Q
父类变量有多个,子类如何区分使用?

当父类中定义了多个变量,子类怎么正确使用其中某一个而不产生混淆?

A

区分和使用父类多个变量的技巧

子类可以通过变量名直接访问继承的父类变量,若变量名冲突,可以使用super关键字明确指向父类变量。此外,合理的命名以及访问权限设计能帮忙避免混淆。举个例子:

class Parent {
    protected int value = 5;
    protected int number = 10;
}

class Child extends Parent {
    int value = 20;
    void printValues() {
        System.out.println(value); // 子类的value
        System.out.println(super.value); // 父类的value
        System.out.println(number); // 父类的number
    }
}