我是否必须创建一个对象实例才能修改它的属性?
我有一个窗口可以选择球的颜色和速度。在另一个窗口中,我有一个bal上下动画。我希望窗口可以选择控制球的颜色和速度等属性。我可以不创建球对象的实例吗?我在我的球类中创造了一些二传手。
答案 0 :(得分:3)
似乎你有一些概念混淆了一点。
在Java中,对象是类的实例。一个类是蓝图,计划,设计,某事物的模型,一个对象就是实际的东西。
由于类是抽象概念,因此无法在运行时修改其属性。 它是可以修改其属性的对象。 这是一个例子:
Ball ball = new Ball();
Ball
是一个类,ball
是一个对象。该对象是Ball
类的实例。
如果Ball
类定义了某些设置器,例如setColor
,setSpeed
,则可以使用这些设置器来修改此ball
对象的属性。
答案 1 :(得分:3)
Java是一种面向对象的语言。如果要修改对象的属性,则它必须存在,因为您无法修改甚至不存在的内容。
但是,您可以使用static
关键字定义类级属性。 static
属性为class
- 级别,因此您无需实例化给定class
的对象即可修改static
成员。
例如,如果您有class
名为Bird
,则Bird
可以具有实例级属性,例如color
。您只能修改color
的{{1}}(如果存在)并通过Bird
。您还可以拥有Bird
属性,例如static
,它定义了numberOfBirds
Bird
的属性,而不是class
个对象的属性。您可以通过Bird
:
class
修改属性:
public class Bird{
public String color = null;
public static int numberOfBirds = 0;
//...
}