我是编程新手,我想知道在实例化对象时我出了什么问题。以下是代码:
public class Testing{
private int Sample(int c)
{
int a = 1;
int b = 2;
c = a + b;
return c;
}
public static void main(String []args)
{
Sample myTest = new Sample();
System.out.println(c);
}
}
答案 0 :(得分:16)
代码中没有Sample
个类。您声明的那个是私有方法。
// private method which takes an int as parameter and returns another int
private int Sample(int c)
{
int a = 1;
int b = 2;
c = a + b;
return c;
}
使用当前代码段,您需要实例化Testing
类并使用Sample
方法。请注意,您的类定义前面有关键字 class ,在本例中为class Testing
。
public class Testing{
private int Sample(int c)
{
int a = 1;
int b = 2;
c = a + b;
return c;
}
public static void main(String []args)
{
Testing t = new Testing(); // instantiate a Testing class object
int result = t.Sample(1); // use the instance t to invoke a method on it
System.out.println(result);
}
}
但这并不合理,您的Sample
方法始终会返回3
。
你是否想要做这样的事情:
class Sample {
int a;
int b;
Sample(int a, int b) {
this.a = a;
this.b = b;
}
public int sum() {
return a + b;
}
}
public class Testing {
public static void main(String[] args) {
Sample myTest = new Sample(1, 2);
int sum = myTest.sum();
System.out.println(sum);
}
}
答案 1 :(得分:3)
我怀疑你确实想要创建一个对象。
从您的代码段中,我了解您希望运行一种'方法'名为Sample
,添加两个数字。在JAVA中,您不必实例化方法。对象是class
的实例。方法只是这个类的行为。
根据您的要求,您不需要显式实例化任何内容,因为当您运行已编译的代码时,JAVA会自动创建您的类的实例,并在其中查找要执行的main()
方法。
可能你只想做以下事情:
public class Testing{
private int sample(int a, int b) {
return a + b;
}
public static void main(String[] args) {
int c = sample(1, 2);
System.out.println(c);
}
}
注意:我已将Sample
更改为sample
,因为它通常接受的做法是使用小写字母和小写字母来启动方法名称,因此{{1在那方面是正确的。
答案 2 :(得分:1)
使用new
关键字正确实例化,但是您的类名和方法调用错误
Testing myTest = new Testing();
int result =myTest.Sample(1); //pass any integer value
System.out.println(result );
答案 3 :(得分:1)
Sample不是一个类,它只是一个方法。您无法创建它的实例。 你只运行它 -
int sample = Sample(3);
如果您希望将样本作为类,请将其定义为类。
在您的情况下,该方法不是静态的,因此您无法从Static方法Main直接访问它。使其静止,以便您可以访问它。或者只是创建一个新的测试实例并使用它 -
Testing testing = new Testing();
int sample = testing.Sample(3);
答案 4 :(得分:1)
Sample方法返回整数,因此获取结果并在任何地方使用它。
public static void main(String []args)
{
int myTest = Sample(4555);//input may be any int else
System.out.println(myTest);
}
答案 5 :(得分:1)
这就是你应该这样做的方式。
public class Testing{
public int Sample(int c)
{
int a = 1;
int b = 2;
c = a + b;
return c;
}
public static void main(String []args)
{
// Creating an Instance of Testing Class
Testing myTest = new Testing();
int c =0;
// Invoking the Sample() function of the Testing Class
System.out.println(myTest.Sample(c));
}
答案 6 :(得分:0)
嗯,很简单。要在Java中实例化一个对象,您应该使用类名并为此使类获得一个勇气。例如:
... Car c1 = new Car();