2014-11-02 62 views
-1

这两个实例方法有什么区别?这两个实例方法有什么区别?

public class Food 
{ 
    public int apples; 
    public int oranges; 
    public int bananas; 

    // Constructor #1 
    public Food(int a, int o, int b) 
    { 
     apples = a; 
     oranges = o; 
     bananas = b; 
    } 

// Is this an instance 

public Food myFood = new Food(5, 8, 1); 

// Or this 

Food.myfood(5, 8, 1) 

我更有经验的朋友说,后者是实例,而不是第一个。

+0

您的问题不清楚。我会猜测你在问什么。第一个创建一个实例。第二个似乎是调用'Food'类的静态方法(并且不创建实例),但是您的类没有该方法。我建议阅读类,实例化和静态方法。 – 2014-11-02 04:03:11

+0

我有一位熟悉5种语言的朋友,他说阶梯就是你的实例。我只是看到我是对的还是他。 – 2014-11-02 05:04:18

回答

0

我觉得人们甚至都不会读这个问题。 解答:第一种是创造食物的新实例(前者)

Food myFood = new Food(3,4,5); 

第二个不正确的设置值。之后f

Food myFood = new Food(3,4,5); 
Console.WriteLine(myfood.Oranges) // prints 4; 
myFood.Oranges = 3; // set the value of oranges for that object to 3 
Console.WriteLine(myFood.Oranges); // prints 3; 
+0

谢谢!很高兴你真的回答了这个问题:) – 2014-11-02 06:25:58

+0

没问题,先生。不要担心会陷入低谷。仇恨者会讨厌。他们没有阅读/理解,所以他们认为这是一个问题。这是一个完全合法的问题。 – 2014-11-02 20:15:53

0

我假设你已经忘记关闭你的班级。

public class Food 
{ 
    public int apples; 
    public int oranges; 
    public int bananas; 

    // Constructor #1 
    public Food(int a, int o, int b) 
    { 
     apples = a; 
     oranges = o; 
     bananas = b; 
    } 

} // <---- you were missing this I assume 

// If the following is in your main method, then myFood is an instance 
// of the Food class. 
// you can do myFood.apples = 4; // very bad btw, having public variables. 
public Food myFood = new Food(5, 8, 1); 

// Not even sure what this is ... because you don't have a myFood on Food. 
// If you would have a static property on your Food class (Yummy), then you 
// could do something like Food.Yummy = what_ever_the_type_is ... 
Food.myfood(5, 8, 1)