Methods 如何在另一个类中调用实例方法
//这是我创建对象的第二个类Methods 如何在另一个类中调用实例方法,methods,instance,Methods,Instance,//这是我创建对象的第二个类 public class circle { double circle1; double Xvalue; double Yvalue; double radius; public double area = (3.14*(this.radius * this.radius)); public double getArea () { return area; } }
public class circle
{
double circle1;
double Xvalue;
double Yvalue;
double radius;
public double area = (3.14*(this.radius * this.radius));
public double getArea ()
{
return area;
}
}
您需要
System.out.println(circle1.getArea())代码>,否则它试图在Tester类中找到一个名为getArea()的方法,而该方法没有这样的方法
此外,代码将始终返回0的区域。这是因为您如何初始化数据:
当您创建新的圆对象时,它会创建xValue,并且由于它是一种基本类型(double而不是double),因此它默认为0(因为它必须有一些值)
因此,当它开始定义此时的面积变量时(因为它仍在创建对象,所以它会(面积=3.14*(0.0*0.0)),它将为0
你真正想要的是这样的东西:
public class tester
{
public static void main(String args [])
{
circle circle1 = new circle();
circle1.Xvalue = 1;
circle1.Yvalue = 2;
circle1.radius = 4;
System.out.println(getArea());
//im not too sure why the print statement won't print the method getArea.
}
}
还值得注意的是,为了遵守惯例,您的类名应该大写。圆圈而不是圆圈,Tester而不是Tester。nameOfVariableContainingPointerToInstance.nameOfInstanceMethod(参数);
(在C/C++中,用
替换为->
,而在Objective-C中,整个过程都变得非常有趣。)
public class Circle {
double Xvalue;
double Yvalue;
double radius;
public Circle(double xValue, double yValue, double radius) {
this.xValue = xValue;
this.yValue = yValue;
this.radius = radius;
}
public double getArea ()
{
return 3.1415926*(this.radius * this.radius);
}
}
public class Tester
{
public static void main(String[] args)
{
Circle circle1 = new Circle(1, 2, 4);
System.out.println(circle1.getArea());
//im not too sure why the print statement won't print the method getArea.
}
}