繁体   English   中英

如何在main方法中调用构造函数?

[英]how to invoke constructor in main method?

我正在编写一个代码,该代码在其主要方法中创建一个对象。 但是我不知道如何调用它的构造函数。 这是我的代码:

//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

我该怎么称呼构造函数?

当我们声明对象时,类中的构造函数被正确调用。 这样声明你的对象

Calculate2 obj = new Calculate2(1,2);
  1. 实际上,您创建了自己的构造函数意味着编译器不会添加默认的构造函数。
  2. 而且你的构造函数看起来像

     public Calculate2(int num1, int num2) { } 

    这意味着它需要两个int参数,因此您需要将一些int值传递给它,例如

     new Calculate2(42,24); 

构造函数与类具有相同的名称,因此当您创建新的对象( gcd )时,如下所示

Calculate2 gcd = new Calculate2();

您已经调用了Calculate2类的默认构造函数

但是,从那时起,您已经声明了带有参数的构造函数:

public Calculate2(int num1 , int num2)

这意味着该类的构造函数在num1num2需要2个参数,因此您必须像这样调用它

Calculate2 obj_gcd = new Calculate2(100,200);

您的构造函数是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);

要么

  new  Calculate2(10,20);

要么

   Calculate2 gcd = new Calculate2(10,20);

要么

    Calculate2 gcd;
    gcd = new Calculate2(15,20);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM