我在同一个包中有一个文件 main.java 和其他几个文件。每个文件都是 something.class,我想执行它们,但是我在定位如何从 something.java 文件实例化类然后执行它时遇到问题。我是java新手,这只是我写的第二个程序,所以请温柔。
我正在使用的文件之一是 startmessage.java,这是我尝试过的:
Object StartMessage = new StartMessage();
我什至不知道这是否正确。非常感谢任何和所有帮助。
我在同一个包中有一个文件 main.java 和其他几个文件。每个文件都是 something.class,我想执行它们,但是我在定位如何从 something.java 文件实例化类然后执行它时遇到问题。我是java新手,这只是我写的第二个程序,所以请温柔。
我正在使用的文件之一是 startmessage.java,这是我尝试过的:
Object StartMessage = new StartMessage();
我什至不知道这是否正确。非常感谢任何和所有帮助。
类文件是编译的类。Java 类的源代码通常放在一个以它们自己命名的文件中。例如,对于您的 startmessage 类,您将使用 StartMessage.java。
从另一个文件中,您可以导入该类,然后您可以将其实例化为该类型的对象。
例如:
package example;
import StartMessage;
public class Example {
public static void main (String args[]) {
StartMessage startMessage = new StartMessage();
}
}
案例很重要。
如果您的文件确实被称为 startmessage.java,并且您已经编译了它,并且想要创建它的实例,那么请尝试:
startmessage sm = new startmessage();
您必须导入要在整个代码中使用的 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
在 Java 中,文件必须完全按照它们包含的类命名。在大多数情况下,这是一个区分大小写的规则。一探究竟。
该代码段可以编译(假设您有一个带有默认构造函数的 StartMessage 类),但它不一定正确。通常,您将希望以下列方式声明对象:
<type> <name> = new <type>(<args>);
通过这种设计,您的代码段在以下形式中会更正确:
StartMessage message = new StartMessage();
但是,因为 StartMessage 是 Object 的子类,并且变量几乎可以命名为任何名称,所以您的原始代码编译得很好。
要执行预编译的 java 类 (.class),它应该有一个要执行的 main 方法,并且可以使用命令 java http://www2.cs.uic.edu/~sloan/CLASSES/java/运行
关于第二期,请看以下教程: http ://docs.oracle.com/javase/tutorial/java/javaOO/index.html
好吧,首先您的文件名必须与类名完全相同。例如:如果你命名了文件startmessage.java
,那么你的类应该是这样的:
public class startmessage { }
但这不是命名java类的方法。正确的方法是:
public class StartMessage {}
要实例化一个类,你应该这样做:
StartMessage message = new StartMessage();
如果你这样做:
Object message = new StartMessage();
您将无法访问StartMessage
类的方法。唯一的方法将在Object
类中可用。
您可以通过创建实例(构造它)来实例化您的类。例如:
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();