在ArrayList表格中打印用户定义的输入内容。
在ArrayList表格中打印用户定义的输入内容。
我在Eclipse中编写了这个Java接口程序,但是在MyTriangle tmp = new MyTriangle();下面有一条红线,当我运行程序时,会出现以下错误:\n
\n无法访问Question1的封闭实例。必须使用Question1的封闭实例来限定分配(例如,在Question1的一个实例x上使用x.new A())。\n
\n
public static void main(String[] args) { MyTriangle tmp = new MyTriangle(); tmp.getSides(); System.out.println(); System.out.println("三角形的面积为" + tmp.computeArea()); } interface Triangle { public void triangle(); public void iniTriangle(int side1, int side2, int side3); public void setSides(int side1, int side2, int side3); public void getSides(); public String typeOfTriangle(); public double computeArea(); } class MyTriangle implements Triangle { private int side1,side2,side3; public void triangle() { this.side1 = 3; this.side2 = 4; this.side3 = 5; } }
问题的出现原因是代码中创建MyTriangle对象时的错误。解决方法是根据给出的修复代码创建MyTriangle对象。
文章内容如下:
尝试这个。为了简化,移除了一些方法。
public class Test1 { public static void main( String [] args) { MyTriangle h1 = new MyTriangle(); } } class MyTriangle implements Triangle{ int side1; int side2; int side3; public MyTriangle(){ this.side1 = 1; this.side2 = 2; this.side3 = 3; } } interface Triangle{}
你没有粘贴完整的代码,我假设你的代码应该类似于下面的样子。然后你需要在创建Triangle实例之前创建主类的实例,如下所示。
public class Test{ class MyTriangle { int side1,side2,side3; public MyTriangle() { this.side1 = 3; this.side2 = 4; this.side3 = 5; } } public static void main(String[] args) { MyTriangle h1 = new Test(). new MyTriangle(); // Fix is here** } } interface Triangle{}
非常感谢。这就是我所需要的:MyTriangle tmp = new Question1().new MyTriangle();