Java 在不创建对象实例的情况下调用变量
我搜索过如何在不创建StackOverflow对象实例的情况下调用变量,发现答案是使用Java 在不创建对象实例的情况下调用变量,java,oop,Java,Oop,我搜索过如何在不创建StackOverflow对象实例的情况下调用变量,发现答案是使用static关键字来声明变量,您可以在扩展类中调用该变量,而不创建该类的实例,但它对我不起作用。这是我试过的- abstract public class Flower{ private static int petals; public void setPetals(int petals){ this.petals; } } 因此,我从另一个类调用了s
static
关键字来声明变量,您可以在扩展类中调用该变量,而不创建该类的实例,但它对我不起作用。这是我试过的-
abstract public class Flower{
private static int petals;
public void setPetals(int petals){
this.petals;
}
}
因此,我从另一个类调用了setPetals
方法。我已经附上了该课程的截图。在LotusFlower类中,我该如何调用petals变量?
需要改进的地方很少:
setPetals
方法定义不是静态的,您实际上没有在此处设置petals的值:
public static void setPetals(int petals){
this.petals = petals;
}
setPetals
引用,而不是作为:
Flower.petals = petals;
setPetals
方法,如下所示:
Flower.setPetals(100);
它是
private
。你的setPetal()
不是static
,你调用它,而不是访问你的static
变量petals
。。。因此,在方法中也添加static
。我相信您有这样做的充分理由,但在我看来,这并不是一个好例子。如果您有几个Flower
的子类,并且每个子类都设置了一个静态值,则先前的子类将被覆盖。请注意:petals
是私有的,不能直接从另一个类引用。@LittleSanti我所做的引用在setPetals
中。更新了答案,把它叫出来。