Java 如何控制多个对象的属性?
我正在使用OOP进行一个类分配,我还在学习基础知识,我来问你如何在有多个对象的情况下引用一个对象的属性Java 如何控制多个对象的属性?,java,oop,properties,constructor,reference,Java,Oop,Properties,Constructor,Reference,我正在使用OOP进行一个类分配,我还在学习基础知识,我来问你如何在有多个对象的情况下引用一个对象的属性 public class Shirts { private static int shirtSize; private static boolean sleeves; private static String color; private static String pattern; private static double price; public Shirt
public class Shirts
{
private static int shirtSize;
private static boolean sleeves;
private static String color;
private static String pattern;
private static double price;
public Shirts(int size, boolean sleeve, String hue, String design, double cost){
shirtSize = size;
sleeves = sleeve;
color = hue;
pattern = design;
price = cost;
}
我的问题是,如果我创建了第二个对象,我就不能再引用第一个对象的属性,因为一旦创建了第二个对象,Shirts类中的所有变量都被赋值为新的值
Shirts testA = new Shirts(10,true,"green","stripes",35.00);
Shirts testB = new Shirts(11,false,"orange","plain",33.00);
有没有快速的解决方法?从
衬衫
类中的字段中删除静态
关键字。从衬衫
类中的字段中删除静态
关键字。静态是类成员。因此,静态将在类级别工作。通过消除静电,您将解决您的问题
关于oracle的“static”static是类成员。因此,静态将在类级别工作。通过消除静电,您将解决您的问题
关于oracle的“static”如果将变量定义为static,则该类的所有实例共享相同的值。。因此,所有实例都共享静态字段。删除static关键字并将其设置为实例级字段,以便它们对于每个实例都是唯一的。如果将变量定义为static,则该类的所有实例共享相同的值。。因此,所有实例都共享静态字段。删除static关键字并将其设置为实例级字段,以便每个实例的属性都是唯一的。请记住,
static
修饰符表示属性属于类,而不是实例!因此,所有实例(调用构造函数时得到的)将共享相同的静态属性值
我希望这个答案有助于理解问题所在,而不仅仅是让它在这次起作用 请记住,
static
修饰符表示属性属于类,而不是实例!因此,所有实例(调用构造函数时得到的)将共享相同的静态属性值
我希望这个答案有助于理解问题所在,而不仅仅是让它在这次起作用 不过,这有助于我收到一条错误消息,说明我无法对非静态变量进行静态引用返回衬衫尺寸与我的其他返回语句一起显示错误。@MichaelFreney从您发布的代码中,无法获得该问题。请用出现此错误的相关代码更新帖子,我将更新我的答案以解释如何修复它。不过,这有助于我收到一条错误消息,说明我无法对非静态变量进行静态引用。”返回衬衫尺寸与我的其他返回语句一起显示错误。@MichaelFreney从您发布的代码中,无法获得该问题。请用出现此错误的相关代码更新帖子,我将更新我的答案以解释如何修复它。