我有两段代码,其中一个要求我创建一个新对象,然后使用该对象调用方法。无需我创建该对象,另一种代码即可工作。
import java.util.Scanner;
public class Wheel
{
double radius;
public Wheel (double radius)
{
this.radius = radius;
}
double getCircumference()
{
return 2 * Math.PI * radius;
}
double getArea()
{
return radius * radius * Math.PI;
}
public static void main (String [] args)
{
System.out.println("Please enter a number: ");
Scanner numInput = new Scanner(System.in);
double num = numInput.nextDouble();
Wheel r = new Wheel(num);
System.out.println(r.getCircumference());
System.out.println(r.getArea());
}
}
这是另一个。
public class GiveChange
{
public static int getQuarters(int p)
{
return p / 25;
}
public static int getDimes(int p, int q)
{
return p / 10;
}
public static int getNickels(int p, int q, int d)
{
return p / 5;
}
public static int getPennies(int p, int q, int d, int n)
{
return p / 1;
}
public static void main(String[] args)
{
int pennies = 197;
int q = getQuarters(pennies);
pennies -= q * 25;
int d = getDimes(pennies, q);
pennies -= d * 10;
int n = getNickels(pennies, q, d);
pennies -= n * 5;
int p = getPennies(pennies, q, d, n);
String str = String.format("The customer should recieve %d " +
"quarters, %d dimes, %d nickels, " +
"and %d pennies.", q, d, n, p);
System.out.println(str);
}
}
是因为第二个代码具有public static int,而第二个代码只是具有数据类型。
答案 0 :(得分:0)
Wheel
类定义并实例化一个对象,以在main
内部使用。 GiveChange
类不需要实例化对象,因为您正在使用static
方法。
两者之间的区别很简单-Wheel
保持状态-就像车轮的半径-但GiveChange
并不保持任何状态以便进行计算。
答案 1 :(得分:0)
在第二个代码中,如果您想拥有一个GiveChange对象,也应该重新添加它。但您使用的是静态方法,则不需要在那里添加新对象。 有关Java静态方法的更多信息,请访问here