Java类实例化

时间:2012-10-22 20:41:16

标签: java

我有一个文件,main.java和同一个包中的其他几个文件。每个文件都是something.class,我想执行它们,但是我在查找如何从something.java文件中实例化该类时遇到问题,然后执行它。我是java的新手,这只是我写的第二个程序所以请温柔。

我正在使用的其中一个文件是startmessage.java,这是我尝试过的:

Object StartMessage = new StartMessage();

我甚至都不知道这是否正确。非常感谢任何和所有的帮助。

8 个答案:

答案 0 :(得分:2)

类文件是已编译的类。 Java类的源代码通常放在以自己命名的文件中。 例如,对于startmessage类,您将使用StartMessage.java。

从另一个文件中,您可以导入该类,然后您可以将其实例化为该类型的对象。

例如:

package example;
import StartMessage;
public class Example {

    public static void main (String args[]) {
        StartMessage startMessage = new StartMessage();
    }
}

答案 1 :(得分:0)

案例很重要。

如果您的文件确实被称为startmessage.java,并且您已编译它,并且您想要创建它的实例,那么请尝试:

startmessage sm = new startmessage();

答案 2 :(得分:0)

您必须在整个代码中导入要使用的Java类:

package <package_name>

import <location_of_class>

像这样:

package michael;

import parent.child.*; //use any method with *

有关导入和包的有用链接:http://www.leepoint.net/notes-java/language/10basics/import.html

答案 3 :(得分:0)

在Java中,文件必须在它们包含的类之后完全命名。在大多数情况下,这是一个区分大小写的规则。看看吧。

答案 4 :(得分:0)

该代码段将编译(假设您有一个带默认构造函数的StartMessage类),但它不一定正确。通常,您需要以下列方式声明对象:

<type> <name> = new <type>(<args>);

通过这种设计,您的代码段将以下列形式更正确:

StartMessage message = new StartMessage();

但是,因为StartMessage是Object的子类,并且变量几乎可以命名,所以原始代码编译得很好。

答案 5 :(得分:0)

答案 6 :(得分:0)

嗯,首先你的文件名必须与类名一模一样。例如:如果您将文件命名为startmessage.java,那么您的类应如下所示:

public class startmessage { }

但它不是命名java类的方法。正确的方法是:

public class StartMessage {}

要实例化一个类,你应该这样做:

StartMessage message = new StartMessage();

如果你喜欢这样:

Object message = new StartMessage();

您将无法访问StartMessage课程的方法。唯一的方法可以从Object类获得。

答案 7 :(得分:0)

您可以通过创建实例(构造它)来实例化您的类。例如:

public class MyClass
{
  public void myMethod1() {System.out.println("Hello from method 1");}
  public void myMethod2() {System.out.println("Hello from method 2");}
}

public class Runner
{
  public static void main(String[] args)
  {
    // declare variable of type MyClass
    MyClass myInstance = new MyClass();

    // now execute its methods
    myInstance.myMethod1();

    myInstance.myMethod2();
  }
}

这将在控制台中产生输出:

Hello from method 1
Hello from method 2

根据问题中的示例,您应该使用StartMessage而不是Object,例如

StartMessage myVariable = new StartMessage();