所以我对编程非常陌生,只是尝试在另一个类中实例化一个类,但我不断收到一个错误:Cannot Resolve Symbol
。有人能告诉我问题所在的区域吗?
My First Class看起来像这样:
public class Triangle
{
public static void main(String[] args)
{
}
public static void Draw (int num)
{
System.out.print("*");
}
}
第二个看起来像这样:
public class Lab01
{
public static void main(String[] args)
{
Triangle obj2 = new Triangle.Draw(5);
}
}
提前致谢
答案 0 :(得分:2)
至少有两个问题:
首先,程序必须只有一个 $('.monthly').checked = true;
函数。你们这里有两个。应删除main
课程中的main
功能。
另一个问题是,要实际实例化一个类,你需要调用类'使用Triangle
运算符的构造函数,但您的new
行不会执行此操作。相反,它尝试使用Triangle obj2 = new Triangle.Draw(5);
方法,该方法不会实例化或返回任何内容。
您应该考虑更改static void
,如下所示:
Triangle
这为您提供了一个公共默认构造函数以及一个非静态public class Triangle
{
public Triangle() {
System.out.println("Constructing triangle instance");
}
public void draw() {
System.out.println("Drawing triangle instance");
}
}
// using the class
Triangle t = new Triangle();
t.draw();
方法,该方法应该负责绘制您已创建的特定实例。
答案 1 :(得分:0)
您需要实例化Triangle对象
//remove the static modifier if using below
Triangle obj2 = new Triangle();
obj2.draw(5);
//since your method is static you can just call it from the class also.
Triangle.draw(5);
您正在尝试将Triangle.draw()
的返回值分配给Triangle对象。由于draw是void
并且不返回Triangle类型,因此会抛出错误。
Here是一个很好的stackoverflow帖子,它显示了何时使用static
方法的一个很好的例子。