あるテキストのjavaの問題です。 public class Draw{ static void pixel(int x,int y){ /*座標(x、y)に点を描画*/ } static void line(int x1,int y1,int x2,int y2){ /*座標(x1、y1)~(x2、y2)に線を引く*/ } } で、これを実行するための以下のようなクラス public class TestDraw{ <ここに入力> } という問題なのですが2つまでは絞れたのですが、 (1) public static void main(String args[]){ Draw d = new Draw().line(10,10,20,30); } ↑× (2) public static void main(String args[]){ Draw.line(10,10,20,30); } ↑○ (2)はlineメソッドがstaticメソッドだからオブジェクト生成しなくても良い、ということなんですが (1)も正解のような気がするのですが・・・ 解説によると「lineはvoidなのでnew Draw().line(10,10,20,30);とすれば正解、とあります。 どうもいまいち理解できません。 クラスメソッドはオブジェクト生成しなくとも良い→オブジェクト生成できない ということなのでしょうか? それからちなみに、public classって2つ記述できないんではありませんでしたか?
↧