我有相同类的不同构造函数,我想用相同的对象调用它们。 有可能吗?
如:
class Calcy
{
int a,b,d;
double c;
Calcy()
{
c=a+b;
System.out.println("Ans -> "+c);
}
Calcy(int a,int b)
{
c=a/b;
d=a%b;
System.out.println("Ans -> "+c+d);
}
Calcy(double a,double b)
{
c=a*b;
System.out.println("Ans -> "+c);
}
public static void main(String[] args)
{
Calcy **cal** = new Calcy(7,6);
Calcy **cal** = new Calcy(5.3,6.1);
Calcy **cal** = new Calcy();
}
}
答案 0 :(得分:0)
一个对象只能构造一次。但是,构造函数可以调用其他方法,包括其他构造函数。但是,一旦构造函数返回,就是这样。如果这是一个问题,也许你将代码放在应该在方法中的构造函数中,或者在'initialize'方法中?
答案 1 :(得分:0)
您可以根据需要创建任意数量的Calcy
个对象:
public static void main(String[] args)
{
Calcy cal = new Calcy(7,6);
cal = new Calcy(5.3,6.1);
cal = new Calcy(); // What does this mean to calculate nothing?
}
如果要保留先前计算的状态,只需存储多个实例。
如果你想将一个Calcy送入下一个对象,只需展开你的构造函数,将Calcy作为输入,即:
Calcy(Calcy a,int b)
{
c=a.getC() / b;
d=a.getD() % b; // Guessing this is what you want?
System.out.println("Ans -> "+c+d);
}
请注意,您需要为c和d创建访问器。
答案 2 :(得分:0)
构造函数的目的是变量initial.Ofcourse你可以在同一个类中拥有多个构造函数。每次调用构造函数时都会创建一个不同的对象。但是如果你想对变量执行一些操作,最好使用方法.Even方法可以重载,你可以在同一个对象上调用它们。例如,
int add(int x,int y){
return (x+y);
}
float add(float x,float y){
return (x+y);
}
答案 3 :(得分:0)
您无法创建重复的对象:
Calcy **cal** = new Calcy(7,6);
Calcy **cal** = new Calcy(5.3,6.1);
Calcy **cal** = new Calcy();
但是您可以使用其他构造函数创建许多对象,或者使用以下符号对对象进行签名:
Calcy **cal1** = new Calcy(7,6);
Calcy **cal2** = new Calcy(5.3,6.1);
Calcy **cal3** = new Calcy();
或 Calcy cal =新Calcy(7,6); cal =新Calcy(5.3,6.1); cal =新的Calcy();
构造函数:
Calcy()
{
c=a+b;
System.out.println("Ans -> "+c);
}
不正确,需要初始值。