Java mainメソッド面接問題の詳細整理
3212 ワード
Java mainメソッド面接問題の詳細整理
1.mainメソッドを使用しないでクラスをどのように定義しますか?
いいえ、mainメソッドがなければJavaクラスを実行できません.
Java 7の前に、静的初期化を使用してJavaクラスを実行できます.しかし、Java 7からは通じません.
2.main()メソッドに必要なパラメータは文字列配列ではありませんか?
いいえ、main()メソッドのパラメータは文字列配列でなければなりません.
ただし、パラメータを導入する場合は、文字列タイプのパラメータをmain()メソッドにパラメータとして渡すことができます.変参は必ず配列でなければならない.
3.main()メソッドの戻りタイプを変更できますか?
いいえ、main()メソッドの戻りタイプは空のみです.他のタイプは受け入れられません.
4.main()メソッドはなぜ静的でなければならないのですか?
main()メソッドは静的であるに違いない.
main()が非静的であることを許可する場合、mainメソッドを呼び出すと、JVMはクラスをインスタンス化する必要があります.
インスタンス化すると、クラスのコンストラクション関数も呼び出されます.このクラスの構造関数にパラメータがある場合、曖昧さが現れます.
たとえば、次のプログラムでクラス「A」をインスタンス化するとき、JVMはどのようなパラメータを渡しますか?
5.main()メソッドを非静的と宣言できますか?
いいえ、main()メソッドは静的と宣言する必要があります.これにより、JVMはクラスをインスタンス化することなくmain()メソッドを呼び出すことができます.
main()メソッドからstaticという宣言を削除すると、コンパイルは成功しますが、実行時にプログラムが失敗します.
6.main()メソッドを再ロードできますか?
はい、main()メソッドを再ロードできます.Javaクラスには任意の数のmain()メソッドがあります.
Javaクラスを実行するには、クラスのmain()メソッドには、たとえば「public static void main(String[]args)」という宣言があるはずです.この声明を変更すれば、コンパイルも成功します.ただし、Javaプログラムは実行できません.mainメソッドが見つからないため、実行時にエラーが発生します.
7.main()メソッドをprivateまたはprotectedと宣言できますか?または修飾子にアクセスしなくてもいいですか?
いいえ、main()メソッドはpublicでなければなりません.main()メソッドをprivateとprotectedと定義することはできません.修飾子にアクセスする必要もありません.
これはJVMがmain()メソッドにアクセスできるようにするためです.main()メソッドをpublicと定義しないと、コンパイルも成功しますが、mainメソッドが見つからないため、実行時エラーが発生します.
8.Javaでmainメソッドを上書きできますか?
いいえ、Javaでmainメソッドを上書きすることはできません.これはmainメソッドが静的メソッドであり、Javaでは静的メソッドがコンパイル時に結合されるため、Javaでは静的メソッドを上書きすることはできません.
9.Javaでmainメソッドを終了できますか?
Javaでmainメソッドを終了できます.JVMは問題ありません.
10.Javaでmainメソッドを同期できますか?
はい、mainメソッドはJavaで同期できます.synchronized修飾子はmainメソッドの宣言で使用できます.これにより、Javaでmainメソッドを同期できます.
もし疑問があれば伝言を残してあるいは当駅のコミュニティに行って討論を交流して、読書に感謝して、みんなを助けることができることを望んで、みんなの当駅に対する支持に感謝します!
1.mainメソッドを使用しないでクラスをどのように定義しますか?
いいえ、mainメソッドがなければJavaクラスを実行できません.
Java 7の前に、静的初期化を使用してJavaクラスを実行できます.しかし、Java 7からは通じません.
2.main()メソッドに必要なパラメータは文字列配列ではありませんか?
いいえ、main()メソッドのパラメータは文字列配列でなければなりません.
ただし、パラメータを導入する場合は、文字列タイプのパラメータをmain()メソッドにパラメータとして渡すことができます.変参は必ず配列でなければならない.
package com.instanceofjava;
public class MainMethod
{
public static void main(String args[])
{
}
}
3.main()メソッドの戻りタイプを変更できますか?
いいえ、main()メソッドの戻りタイプは空のみです.他のタイプは受け入れられません.
package com.instanceofjava;
public class A
{
public static int main(String[] args)
{
return 1; //run time error : No main method found
}
}
4.main()メソッドはなぜ静的でなければならないのですか?
main()メソッドは静的であるに違いない.
main()が非静的であることを許可する場合、mainメソッドを呼び出すと、JVMはクラスをインスタンス化する必要があります.
インスタンス化すると、クラスのコンストラクション関数も呼び出されます.このクラスの構造関数にパラメータがある場合、曖昧さが現れます.
たとえば、次のプログラムでクラス「A」をインスタンス化するとき、JVMはどのようなパラメータを渡しますか?
package com.instanceofjava;
public class A
{
public MainMethod(int i)
{
//Constructor taking one argument
}
public void main(String[] args)
{
//main method as non-static
}
5.main()メソッドを非静的と宣言できますか?
いいえ、main()メソッドは静的と宣言する必要があります.これにより、JVMはクラスをインスタンス化することなくmain()メソッドを呼び出すことができます.
main()メソッドからstaticという宣言を削除すると、コンパイルは成功しますが、実行時にプログラムが失敗します.
package com.instanceofjava;
public class A
{
public void main(String[] args)
{
System.out.println("indhu"); //Run time error
}
}
6.main()メソッドを再ロードできますか?
はい、main()メソッドを再ロードできます.Javaクラスには任意の数のmain()メソッドがあります.
Javaクラスを実行するには、クラスのmain()メソッドには、たとえば「public static void main(String[]args)」という宣言があるはずです.この声明を変更すれば、コンパイルも成功します.ただし、Javaプログラムは実行できません.mainメソッドが見つからないため、実行時にエラーが発生します.
package com.instanceofjava;
public class A
{
public static void main(String[] args)
{
System.out.println("Indhu");
}
void main(int args)
{
System.out.println("Sindhu");
}
long main(int i, long d)
{
System.out.println("Saidesh");
return d;
}
}
7.main()メソッドをprivateまたはprotectedと宣言できますか?または修飾子にアクセスしなくてもいいですか?
いいえ、main()メソッドはpublicでなければなりません.main()メソッドをprivateとprotectedと定義することはできません.修飾子にアクセスする必要もありません.
これはJVMがmain()メソッドにアクセスできるようにするためです.main()メソッドをpublicと定義しないと、コンパイルも成功しますが、mainメソッドが見つからないため、実行時エラーが発生します.
package com.instanceofjava;
public class A
{
private static void main(String[] args)
{
//Run time error
}
}
8.Javaでmainメソッドを上書きできますか?
いいえ、Javaでmainメソッドを上書きすることはできません.これはmainメソッドが静的メソッドであり、Javaでは静的メソッドがコンパイル時に結合されるため、Javaでは静的メソッドを上書きすることはできません.
9.Javaでmainメソッドを終了できますか?
Javaでmainメソッドを終了できます.JVMは問題ありません.
10.Javaでmainメソッドを同期できますか?
はい、mainメソッドはJavaで同期できます.synchronized修飾子はmainメソッドの宣言で使用できます.これにより、Javaでmainメソッドを同期できます.
もし疑問があれば伝言を残してあるいは当駅のコミュニティに行って討論を交流して、読書に感謝して、みんなを助けることができることを望んで、みんなの当駅に対する支持に感謝します!