让类实例化在Java中工作

时间:2016-01-05 04:08:56

标签: java instantiation

所以我对编程非常陌生,只是尝试在另一个类中实例化一个类,但我不断收到一个错误: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);
    }
}

提前致谢

2 个答案:

答案 0 :(得分:2)

至少有两个问题:

  1. 首先,程序必须只有一个 $('.monthly').checked = true; 函数。你们这里有两个。应删除main课程中的main功能。

  2. 另一个问题是,要实际实例化一个类,你需要调用类'使用Triangle运算符的构造函数,但您的new行不会执行此操作。相反,它尝试使用Triangle obj2 = new Triangle.Draw(5);方法,该方法不会实例化或返回任何内容。

  3. 您应该考虑更改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方法的一个很好的例子。