0

同じパッケージにmain.javaというファイルと他のいくつかのファイルがあります。各ファイルはsomething.classであり、実行したいのですが、something.javaファイルからクラスをインスタンス化して実行する方法を見つけるのに問題があります。私はJavaを初めて使用します。これは、私が作成した2番目のプログラムにすぎないので、気を付けてください。

私が使用しているファイルの1つはstartmessage.javaで、これが私が試したものです。

Object StartMessage = new StartMessage();

それが正しいかどうかさえわかりません。ありとあらゆる助けをいただければ幸いです。

4

8 に答える 8

2

クラスファイルはコンパイルされたクラスです。Javaクラスのソースコードは通常、それ自体にちなんで名付けられたファイルに入ります。たとえば、startmessageクラスには、StartMessage.javaを使用します。

別のファイルからクラスをインポートして、そのタイプのオブジェクトをインスタンス化できます。

例えば:

package example;
import StartMessage;
public class Example {

    public static void main (String args[]) {
        StartMessage startMessage = new StartMessage();
    }
}
于 2012-10-22T20:47:06.330 に答える
0

Javaでは、ファイルには、ファイルに含まれるクラスに正確にちなんで名前を付ける必要があります。ほとんどの場合、これは大文字と小文字を区別するルールです。見てみな。

于 2012-10-22T20:46:27.923 に答える
0

そのコードセグメントはコンパイルされますが(デフォルトのコンストラクターを持つStartMessageクラスがあると仮定)、必ずしも正しいとは限りません。一般に、次の方法でオブジェクトを宣言する必要があります。

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

この設計により、コードセグメントは次の形式でより正確になります。

StartMessage message = new StartMessage();

ただし、StartMessageはObjectのサブクラスであり、変数にはほぼすべての名前を付けることができるため、元のコードは正常にコンパイルされます。

于 2012-10-22T20:46:33.427 に答える
0
于 2012-10-22T20:47:31.197 に答える
0

ケースは重要です。

ファイルが実際にstartmessage.javaと呼ばれ、それをコンパイルしていて、そのインスタンスを作成してインスタンス化する場合は、次のことを試してください。

startmessage sm = new startmessage();
于 2012-10-22T20:46:10.560 に答える
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

于 2012-10-22T20:46:14.357 に答える
0

まず、ファイル名はクラス名とまったく同じでなければなりません。例: ファイルstartmessage.javaに名前を付けた場合、クラスは次のようになります。

public class startmessage { }

しかし、Java クラスに名前を付ける方法ではありません。適切な方法は次のとおりです。

public class StartMessage {}

クラスをインスタンス化するには、次のようにする必要があります。

StartMessage message = new StartMessage();

あなたがこのようにする場合:

Object message = new StartMessage();

StartMessageクラスのメソッドにアクセスできなくなります。Objectクラスからは唯一のメソッドが利用可能になります。

于 2012-10-22T20:49:04.997 に答える
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 を使用する必要があります。

StartMessage myVariable = new StartMessage();
于 2012-10-22T20:50:36.270 に答える