2011-12-07 11 views
0

LUA(Roblox)でしばらくの間プログラミングしてからJavaに切り替えると、なぜJava変数が厳格になるのだろうかと疑問に思っていました。たとえば、RobloxでSystem.out.println( "hello world")と同等の処理を行いたい場合は、System.out.println()を変数として設定します(System.out.println()=出力)を出力したい場合は、output( "hello world")と言うでしょう。このコンセプトをより深いレベルにした場合、なぜ変数をオブジェクト名に入れるのでしょうか。例えば、このコードは動作しないでしょう。変数に関する概念言語

public class test{ 
public static void main(){ 

    String hi="hello world"; 

    JLabel hi = new JLabe("hi"); 

    }} 

だから、彼らはJavaでこれを持っていない理由は、私が思っていた、彼らはちょうどそれについて考えていなかった以外、その理由は?

実用的な使い方は、JComponentsを整然とした形で簡単に作成することです。配列やリストを使ってこれらを作ることもできますが、たくさんのJButtonを作っていて、すべてのボタンに別のアクションリスナーを持たせたいのであれば、アクションリスナーの別の配列を作ることもできます例(ループ内でそれを作る)整数にするたびに1を加えた整数と、上記提案された方法が、この時間を使用し、言う:

public class test{ 
public static void main(){ 
int theLabel=1; 

while(true){ 
JLabel theLabel= new JLabel("hello world"); 
theLabel+1; 
}}} 

は再び、私はこれは、Javaには絶好のに加えだろうと感じ、なぜこれが存在しないのだろうと思っていますか?

+1

私はStackExchangeのプログラマーのQ&Aにこの質問を書いていますが、そこではあなたを満足させる答えが得られる可能性が高くなります。 –

+0

Q&Qにはどのようにしたらいいですか? –

+0

@Russell:http://stackexchange.com/ – bezmax

答えて

2

基本的に、答えは「これはJavaだから」です。それはそれがそうであるように設計されており、Javaプログラマーはそれが好きなのでそれを好みます。あなたが記述したすべての機能を持っていれば、今日のJavaとは異なる言語になりますが、それはわかりません。

+0

これは言語をあまり変えませんなぜあなたの答えは正しいのでしょうか? –

+1

Javaは非常に厳密に型付けされた言語です。変数には 'objects'、変数に' objects'、オブジェクトに 'methods'があります。 'メソッド'を '変数'に変更すると、何らかのオブジェクトになる必要がありますが、メソッドは決してオブジェクトではなく、メソッドであり、その変更はコード構造に大きな影響を与えます。 – bezmax

関連する問題