[英]how to invoke constructor in main method?
I'm writing a code in which in its main method I create an object. 我正在编写一个代码,该代码在其主要方法中创建一个对象。 But I don't know how to call its constructor. 但是我不知道如何调用它的构造函数。 here is my code: 这是我的代码:
//This class calculate the greatest common divisor of two number
import static java.lang.Math.min;
public class Calculate2
{
private int num1,num2;
public Calculate2(int num1 , int num2)
{
this.num1=num1;
this.num2=num2;
}
public static void main(String[] args)
{
Calculate2 gcd = new Calculate2();
gcd.GCD();
}
public void GCD()
{
int min_num;
int greatestcommondivisor=0;
min_num = min(num1,num2);
for(int commondivisor=1;commondivisor <= min_num;commondivisor++)
{
if(num1%commondivisor==0 && num2%commondivisor==0)
{
greatestcommondivisor=commondivisor;
}
commondivisor++;
}
System.out.println(greatestcommondivisor);
}//End of the method gcd
}//End of the class calculate2
how should I call the constructor? 我该怎么称呼构造函数?
Constructors in a class are called right when we declare the object. 当我们声明对象时,类中的构造函数被正确调用。 Thus declare your object like this 这样声明你的对象
Calculate2 obj = new Calculate2(1,2);
Also your constructor looks like 而且你的构造函数看起来像
public Calculate2(int num1, int num2) { }
which means it requires two int
arguments, so you need to pass some int
values to it like 这意味着它需要两个int
参数,因此您需要将一些int
值传递给它,例如
new Calculate2(42,24);
A constructor shares the same name as the class, so when u create a new object ( gcd
) like below 构造函数与类具有相同的名称,因此当您创建新的对象( gcd
)时,如下所示
Calculate2 gcd = new Calculate2();
You have already called the default constructor of the class Calculate2
您已经调用了Calculate2
类的默认构造函数
But since, you have declared a constructor with parameters: 但是,从那时起,您已经声明了带有参数的构造函数:
public Calculate2(int num1 , int num2)
This means that the constructor of the class requires 2 parameters in it num1
and num2
, so you have to call it like 这意味着该类的构造函数在num1
和num2
需要2个参数,因此您必须像这样调用它
Calculate2 obj_gcd = new Calculate2(100,200);
Your Constructor is parameteris constructor 您的构造函数是parameteris构造函数
You must pass value to parameteris Construcor
You Can Call With differnt of type
int i=10;
int j=5;
Calculate2 gcd = new Calculate2(i,j);
or 要么
new Calculate2(10,20);
or 要么
Calculate2 gcd = new Calculate2(10,20);
or 要么
Calculate2 gcd;
gcd = new Calculate2(15,20);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.