javaでオブジェクトをインスタンス化する方法は?
私はプログラミングの初心者なのですが、オブジェクトのインスタンス化でどこが間違っているのか知りたいのです。以下はそのコードです。
public class Testing{
private int Sample(int c)
{
int a = 1;
int b = 2;
c = a + b;
return c;
}
public static void main(String []args)
{
Sample myTest = new Sample();
System.out.println(c);
}
}
10
6
あなたのコードには
Sample
クラスはありません。 あなたが宣言したものは、プライベートメソッドです。現在のスニペットでは、
Testing
クラスをインスタンス化し、Sample
メソッドを使用する必要があります。クラス定義の前にキーワード class があることに注意してください。しかし、これでは意味がありません。
Sample
メソッドは常に3
を返します。このようなことをしようとしているのでしょうか?
実際にオブジェクトを作成したいとは思いません。
コードスニペットから、2つの数値を追加する「サンプル」という名前の「メソッド」を実行することを理解しています。 そして、JAVAでは、メソッドをインスタンス化する必要はありません。 オブジェクトは「クラス」のインスタンスです。 メソッドは、このクラスが持つ動作にすぎません。
要件については、コンパイルされたコードを実行するときにJAVAがクラスのインスタンスを自動的に作成し、その中に
main()
メソッドを実行して実行するため、明示的に何もインスタンス化する必要はありません。たぶん、あなたはただフォローしたいのです。
注:小文字とクラス名でメソッド名を開始することは一般的に受け入れられているため、「サンプル」を「サンプル」に変更しました。そのため、その前面では「テスト」が正しいです。
new` キーワードで正しくインスタンス化されていますが、カラム名とメソッドの呼び出し方が間違っています。
Sampleはクラスではなく、単なるメソッドです。インスタンスを作成することはできません。 実行するだけです。
sample をクラスとして定義したい場合は、クラスとして定義します。
あなたの場合、メソッドが static でないため、Static メソッド Main から直接アクセスすることができません。staticにすることでアクセスできるようになります。もしくは、Testingのインスタンスを新規に作成して、それを使用する -。
サンプルメソッドは整数を返すので、結果を取得してどこでも使用します。
これがあなたがこれを行うべき方法です。