该值无法传入构造函数JAVA

该值无法传入构造函数JAVA,java,constructor,Java,Constructor,我需要构造函数中的num值为什么构造函数中的num值变为零,尽管我使用set和get只是为了将值放在这里。提前感谢您: 这是我的第一节课 public class NewClass1 { private int num; public NewClass1() { System.out.println("Get Num: "+num); } public void setNum(int n) { num = n; } public int

我需要构造函数中的num值为什么构造函数中的num值变为零,尽管我使用set和get只是为了将值放在这里。提前感谢您:

这是我的第一节课

public class NewClass1 {

private int num;

   public NewClass1() {
   System.out.println("Get Num: "+num);
   }

    public void setNum(int n) {
       num = n;
   }

   public int getNum() {
      return num;
   }
   public void Message() {
       System.out.println(num);
   }

    }
这是我的主课

public class NewClass2 {

public static void main(String[] args ) {
NewClass1 obj = new NewClass1();
obj.setNum(9000);
obj.Message();
}}


Output: GetNum: 0
        9000

您需要创建一个接受int参数的构造函数,就像setter方法一样

e、 g

你会想把System.out.println从你的NewClass1类中移除。这些应该在使用NewClass1的类中

class TestFoo {
   public static void main(String[] args) {
     Foo foo = new Foo(42);
     System.out.println("bar is: " + foo.getBar());
   }
}

您可以创建另一个接受int参数的构造函数,并使用此构造函数设置私有成员。以下是方法:

public NewClass1(int n)
{
    num=n;
}

必须在构造函数中传递值

公共类新类别1{

private int num;

public NewClass1( int n)
{

    n=num;
    System.out.println("Get Num: "+num);

}
   public int getNum() {
      return num;
   }

   public void Message() {
       System.out.println(num);
   }

    }

 and your main class will look like this

public class NewClass2
 {

    public static void main(String[] args ) {
    NewClass1 obj = new NewClass1(9000);// your valur
    obj.Message();
    }
}

你肯定不是java开发人员。我只是一名学生-谢谢jatin:Ahmm它应该是num=n;谢谢你的回答,现在没有错误:请研究对象是如何构造的以及构造函数是如何被调用的。你会得到答案的。当你创建一个对象时,构造函数会被调用,而print语句h将打印默认整数值0。
private int num;

public NewClass1( int n)
{

    n=num;
    System.out.println("Get Num: "+num);

}
   public int getNum() {
      return num;
   }

   public void Message() {
       System.out.println(num);
   }

    }

 and your main class will look like this

public class NewClass2
 {

    public static void main(String[] args ) {
    NewClass1 obj = new NewClass1(9000);// your valur
    obj.Message();
    }
}