主类...
import java.io.*;
public class RecMain
{
public static void main(String[]args)throws IOException
{
Rectangle rec1 = new Rectangle(5.3f,7.2f);
Rectangle rec2 = new Rectangle();
Rectangle rec3 = new Rectangle(12378438,37648363);
rec1.showData();
rec2.showData();
rec3.showData();
}
}
以及 Rectangle 类
import java.io.*;
class Rectangle
{
private int len=0, bdt=0;
private float len2=0, bdt2=0;
public Rectangle()
{
}
public Rectangle(int length, int breadth)
{
len=length;
bdt=breadth;
}
public Rectangle(float length, float breadth)
{
len2=length;
bdt2=breadth;
}
public void setData() throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
len2=Float.parseFloat(br.readLine());
bdt2=Float.parseFloat(br.readLine());
}
public void showData()
{
System.out.println("Length: "+len+"\nBreadth: "+bdt);
System.out.println("Length: "+len2+"\nBreadth: "+bdt2);
}
}
我想要做的是,对所有对象使用相同的showData(),这样对于rec1,结果将是len2和bdt2,而对于rec3,结果将是len和bdt。有什么办法可以实现这一点吗?
最佳答案
您可以使用 if 来检查 len 是否为 0 或 len2 是否为 0,然后显示相应的结果。 因此,如果 len 为 0,则可以打印 len2 和 bdt2。否则,显示 len 和 bdt。
关于java - 如何使 showData() 为不同的数据类型提供单独的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61990081/