トップページ⇒tech
1001コメント322KB

【初心者】Java質問・相談スレ4【大歓迎】

■ このスレッドは過去ログ倉庫に格納されています
00011NGNG
JAVA初心者の方はこちらのスレで質問をしましょう。そして誰か教えてあげてください。

なお、ソースを貼るときには、半角空白が消える仕様のため、タブ1つを全角空白2つに
置換してから投稿しましょう。雑誌や宿題などの疑問を質問するときは出展を明記した
ほうが解決が早いです。

関連情報は >>2-10 あたりにあります。 (一部 dat落ちやHTML化待ち)


JavaScriptの質問はWeb製作板へどうぞ。
web制作管理
http://pc.2ch.net/hp/

パソコンの基本操作に関しては、PC初心者板や、各OS板などで質問しましょう。
パソコン初心者@2ch掲示板
http://pc.2ch.net/pcqa/

上級者の方で教える技術が無い方は下記スレでダベりましょう。
初心者無視! Java相談室 その9
http://pc.2ch.net/test/read.cgi/tech/1021555964/


基本的にsage進行でおねがいします。
0136デフォルトの名無しさんNGNG
>>133
なにか勘違いしてない?
0137デフォルトの名無しさんNGNG
スーパークラスのオーバーライドしたメソッドを呼ぶにはどうしたらいいのでしょうか。
0138デフォルトの名無しさんNGNG
>137
super.A()
0139デフォルトの名無しさんNGNG
>>137
super.method(); だがサブクラス以外から呼ぼうとしてもだめだよ。
0140デフォルトの名無しさんNGNG
Red Hat Linux 7.3でSwingを使ってダイアログを表示したら
日本語部分が文字化けするんだけどなんででしょうか。
0141デフォルトの名無しさんNGNG
>>138>>139
ありがとうございます。

もう一つお願いします。
C++のprotectedと同じアクセスレベルはないのでしょうか。
自クラスとサブクラスからのみ参照可能なアクセスレベルです。
0142デフォルトの名無しさんNGNG
>141 無い。
0143デフォルトの名無しさんNGNG
>>142
がーん。ありがとうございます。
0144デフォルトの名無しさんNGNG
>>141
完全に同じじゃないけど protected。同一パッケージ内からでもアクセスできて
しまうが、1パッケージに全部クラスぶち込むようなウンコ設計じゃなければ
便利よ。
0145デフォルトの名無しさんNGNG
>>139
サブクラス以外から、スーパークラスって呼ばないと思われる。
0146デフォルトの名無しさんNGNG
>>145
C++ だとそういう呼び出し方もあるのでわざわざ断ってる。
0147デフォルトの名無しさんNGNG
>>146
最初から「C++でいう」を付けろ。 いまさら言い訳だろ?
0148デフォルトの名無しさんNGNG
>>147
しつこいなおまえ。C++ 使えないのは分かったからもう消えて良いよ。
0149デフォルトの名無しさんNGNG
C++ すら知らない人間でも教師ヅラできるスレはここですか?
0150デフォルトの名無しさんNGNG
>>148
147しか書いていませんが、しつこいですか?
言い訳野郎うざいよ。消えろよ
0151デフォルトの名無しさんNGNG
>>148
恥ずかしいなお前
0152デフォルトの名無しさんNGNG
スーパークラスのメソッドの呼び出し方も知らない奴が、サブクラス外から
呼び出せないって知ってると思うか? C++ 移行組ではないという保障は?
VB 上がりの莫迦 ウザイ
0153デフォルトの名無しさんNGNG
>>152
意味わからん
0154デフォルトの名無しさんNGNG
つまり、139がきちんと説明をすれば問題はなかったということですね。
0155殺伐イヤン♪NGNG
旦⊂(`Д´)お前らマターリしる!
0156デフォルトの名無しさんNGNG
>>152
>>147
0157デフォルトの名無しさんNGNG
オーバーライドされたメソッドのスーパークラスの方を外から直接呼べないか
とか言ってた奴、このスレだったか知らんが以前にもいたな。そこらへん記憶
にあれば >>139 の指摘になると思うが。
0158デフォルトの名無しさんNGNG
>>144
protected とか アクセス指定なしを
連発されたパッケージもどーかと思うよ。
0159デフォルトの名無しさんNGNG
super 修飾子がサブクラスからしか使えないのは Java 常識
⇒ super を知らない初心者にそんな常識は通用しない

と考えて >>139 を書いたんだがな。想定外の自演莫迦が釣れちまったようだ。
0160デフォルトの名無しさんNGNG
>>158
どういう意味?詳しく説明規模
0161デフォルトの名無しさんNGNG
>>160
クラスを作るときにはキチンとアクセス制御しておこうよ。 っていう感想なんじゃないかと推定
0162デフォルトの名無しさんNGNG
>>159
はぁ?
0163デフォルトの名無しさんNGNG
「同一パッケージ内からでもアクセスできてしまう」
の方を活用しすぎているパッケージはどーかと思う、という話です。
0164デフォルトの名無しさんNGNG
>>159
最初からみんなでお前は説明不足だって言ってるじゃん。認めろ
0165デフォルトの名無しさんNGNG
>>160
>>159 じゃないけど、あまりアクセススコープ考えないで設計された
パッケージの事じゃねー?

フレームワーク系の機能作ってると、クラス間の協調機能を外に公開
したくない目的でパッケージプライベートとか多発することもあるけど。
0166デフォルトの名無しさんNGNG
>>163
そういうことか。
0167デフォルトの名無しさんNGNG
>>159
もっとわかりやすく説明してごらん? JavaとC++の違いを説明しているのに言葉1つ1つに説明がないからなにを
いいたいのかわからんのだよ。
0168デフォルトの名無しさんNGNG
この辺がバカってことでもういいよ。
>>158-159
0169159NGNG
>>168
俺もっすか…
0170デフォルトの名無しさんNGNG
> 最初からみんなで
いやに説明的なだな (藁
で、結局自分の ヴァカ さ加減を晒したので顔真っ赤にしてムキになってると (激藁
0171158NGNG
>>169
俺が馬鹿だったんです。ごめんなさい。
0172デフォルトの名無しさんNGNG
言葉足らずなだけでしょ。もういいよ。
0173デフォルトの名無しさんNGNG
>>167
super 修飾子がサブクラスからしか使えないのは Java 常識
⇒ super を知らない初心者にそんな常識は通用しない
⇒ C++ 移行組ならサブクラス外からも使えて当然と思っているかも知れない

だな。
0174デフォルトの名無しさんNGNG
どう考えても>>139==>>159の方が真っ当。
煽ってる連中の頭弱すぎ。
0175デフォルトの名無しさんNGNG
ごめん すごく気になったんだけど


>>170
> 結局自分の ヴァカ さ加減を晒したので

139以外がバカ晒しているのってどれ?
0176デフォルトの名無しさんNGNG
>>174
論拠言わないただのアフォがやって参りました!
0177デフォルトの名無しさんNGNG
>>174
内容について話しましょうね。
0178デフォルトの名無しさんNGNG
>>173
煽られても、説明下手だな。がんがれよ
0179174NGNG
一杯釣れるなー。
いや、一人かも知れない というか一人であってくれと切に願うが。

>>173
全然違うと思うがな。
C++組の事なんか意識するまでも無く、superを外から使えないかと考える奴がいる事は十分考えられる。
0180デフォルトの名無しさんNGNG
>>178
おまえの読解能力が低いだけだから安心して宿題やれ。
0181デフォルトの名無しさんNGNG
>>179
バカはすっこんでろ
0182デフォルトの名無しさんNGNG
>>179
ねぇねぇ何の話し?
0183デフォルトの名無しさんNGNG
>>168
頭の弱さを晒してる日本語だな。
0184174NGNG
まぁ、アホは死ねや(藁
superクラスは多重継承の場合は配列になっている。
注意が必要だぞ。初心者諸君。

>>181
お前もな。C++組を代表して言っておく。
0185174NGNG
騙り厨まで(・∀・)ツレタ!!

つーか>173&>184、何でそこまでC++に執着すんの?なんかコンプレックスでもあるのか?
0186デフォルトの名無しさんNGNG
>C++組を代表して言っておく。

使いこなせもしない癖に何ボケてんですか??(ププ
0187173NGNG
>>185
いや、無いけどさ。当然と思ってる事って案外ハマりどころじゃん。そんで
今回の件は C++ じゃ当然できることだから。
0188デフォルトの名無しさんNGNG
メソッドっていつ使うのですか?
参考書を見る限り、文が短いせいか
別に必要ないように思えるんですけど

どういった状況になったらメソッドが有効ですか?
素人レスごめんなさい
0189デフォルトの名無しさんNGNG
>188
ス、スゲエ
0190デフォルトの名無しさんNGNG
代表されたくは、無いな、やっぱりな。
0191デフォルトの名無しさんNGNG
おやくそく。
>>188
使う意味がわからないうちは、使わないでいいです。
(っても、Javaスレだよな、ここ…)
0192デフォルトの名無しさんNGNG
>>188
ええっと、当面は「サブルーチン」「共通フロー」あたりに専念してみる
のが良いかと…
0193174NGNG
>>188
いらないぞ。なんでいるのかわからん。
全部static付ければいいぞ。便利だ。
0194デフォルトの名無しさんNGNG
Singletonの乱用って、マズいですかね?
便利なんで、ついつい使ってしまうんです・・。

クラスA内からクラスBインスタンスの参照が必要なとき、
クラスBをSingletonにしちゃってgetInstance()で参照を取得する
ようにしてしまうのですが・・。
まあもちろんクラスBがSingletonで良い場合のみなんですけど。
でもなんかこう、Singletonを多用するのはあまり美しくないのかなあ
なんて思っちゃうんです。

みなさんのプログラミングスタイルはどんな感じですか?
0195デフォルトの名無しさんNGNG
なぜJavaスレで訊く?
0196デフォルトの名無しさんNGNG
>>194
プログラミングスタイルというか設計スタイルだな。
俺は大抵コンポジット、ストラテジー、ステートパターンあたりを
中心に組むかな。
0197デフォルトの名無しさんNGNG
>>191と>>192と>>193は、メソッドの使い方を知らないみたいだな。
0198デフォルトの名無しさんNGNG
>>197
あのさぁ・・・既に水から引き上げられてるえさに食いつく魚ってアフォだと思わないか?
0199デフォルトの名無しさんNGNG
>198
いや、それはそれで凄い魚だと思う。
0200デフォルトの名無しさんNGNG
>>197
教える技術のない人は初心者無視スレへ。
0201デフォルトの名無しさんNGNG
>>198
そんなカリカリするなよ(w
0202デフォルトの名無しさんNGNG
>>200
お前が教えてやれよ。さっさと
0203デフォルトの名無しさんNGNG
>>200
さっさとメソッドの使い方を教えろ アホ!
02041NGNG
初心者無視! Java相談室 その9
http://pc3.2ch.net/test/read.cgi/tech/1021555964/
0205デフォルトの名無しさんNGNG
モソッドを使わずにJABAプログラムできるのですか??
02061NGNG
次の質問くるまで待ちましょう。
0207デフォルトの名無しさんNGNG
なんでさっきから粘着自演煽りが張り付いてんの?
0208デフォルトの名無しさんNGNG
           ___
    .      |(・∀・)|
     .      | ̄ ̄ ̄   ジサクジエン共和国
         △
        △l |
   __△|_.田 |△_____
__|__|__|__門_|__|_____|___
0209デフォルトの名無しさんNGNG
>>207 = >>208
静かにしてね。
0210デフォルトの名無しさんNGNG
⊂(`Д´)⊃旦~~マターリしる!
0211デフォルトの名無しさんNGNG
>>189-
結局メソッドが何かも教えられなのか
ちなみに俺は(上手い具合に)教える事はできない

つまり俺と同レベル?
0212デフォルトの名無しさんNGNG
アフォ洪水波浪警報発令中。
0213デフォルトの名無しさんNGNG
しかも目立ちたがり屋。アゲンナ
0214デフォルトの名無しさんNGNG
(*`Д´)⊃旦~~マターリしる!
0215132NGNG
サイトから情報を読んで、それを加工してファイルに記録したいのですが、
そういう場合は、情報をどこに読み込んでどこで加工するといいのでしょうか?

普通に変数に読み込んで編集してその内容をファイルに書くのですか?
なにか良い方法があったら教えて下さい。
0216デフォルトの名無しさんNGNG
JavaでGUIプログラミングを勉強しようと思うのですが、フリーで(・∀・)イイ!のは、何でしょうか。
Eclipse
NetBeans
Forte(Community version)
VAJ(Community version)
JBuilder(Community version)
よろしくおながいします。
0217デフォルトの名無しさんNGNG
>>215
それで良いんじゃねーの? データがでかければ少し工夫の余地がある
けど。
0218デフォルトの名無しさんNGNG
>>216
秀丸
0219デフォルトの名無しさんNGNG
>>216
やぱりこれからは日蝕で決まりでは?
0220デフォルトの名無しさんNGNG
>>216
Eclipse は GUI ビルダーがまだ付いてなかったと思う。
VAJ は何をやるにしても激しく糞だから止めとけ。
Forte/JBuilder は重い。それ以外の感想はない。
NetBeans は未知の世界。
ということで俺的にはこんな感じ

Forte = JBuilder >>> Visual J++ >>>>>>>>>>>> VAJ
Eclipse 対象外、NetBeans 不明
0221132NGNG
>>217
わかりました。とりあえずまずはそれで組んでから、また疑問があれば質問します。ありがとうございました。
0222デフォルトの名無しさんNGNG
>>216
秀丸+Javaマクロ + Javaハイライト は使いやすい。
0223デフォルトの名無しさんNGNG
VAJは個人で使うぶんには、リポジトリの肥大化はさほど問題
ではないと思う。IDEもV4.0になって昔ほど落ちなくなった。
バージョン管理もしやすいしね。でもVA/Assistをインストール
するのは必須。ただ、JDK1.2レベルだし、XPは動作環境じゃ
ないし、今更選択するのは得策じゃないな。
0224デフォルトの名無しさんNGNG
クラスの二次元配列の初期化は以下のような感じで問題ないですよね?

Hoge[][] hoge = new Hoge[10][10];

for(i=0;i<10;i++){
for(k=0;k<10;k++){
hoge[i][k] = new Hoge(コンストラクタ);
}
}
0225デフォルトの名無しさんNGNG
>>220
>>216
>>223
ありがとうございます。とりあえず、NetBeans + Eclipse + 秀丸 + J2SEでやってみますだ。
0226デフォルトの名無しさんNGNG
>>188よ、
メソッドが分からないとJavaはつらいので無理をするな。出来れば
VBとかでクラス使ったプログラミングになれてから・・・ってか、188はネタか?
0227デフォルトの名無しさんNGNG
なあなあ、java.beans.Beans.instantiateで自作のbeansをロードしてるんだけど、
jar -i してインデックスつけたjarだとロードに失敗するんだ。(SE1.3.1+WinMe)
ちなみに jar -i しなければ問題なし。
後述の極小のサンプルで確認したけどnewした方は大丈夫なんで、instantiateの
問題なのは間違いない。
しかし家のSE1.4+Win2Kだと再現しないんだ。これが。
持って帰ってきた資料がソースだけだったんで発生する例外は忘れた・・・
googleで検索したけど解決の役に立たなかったことは覚えてる。

結局、これって1.3.1が原因?Meが原因?だれか確認してくれないかな。
しゃーないからFactory作ってnewすることにしたけどさ、気分悪いじゃない。

それにしても・・・Meなんて使ってんじゃねーよ、お客様よぉ(泣
0228227のサンプルNGNG

【myBean.java】
package beans;

import java.lang.*;
import java.io.*;

public class myBean implements Serializable {
private intval;
public myBean() { val = 0; }
public int getValue() { return val; }
public void setValue( int v ) { val = v; }
}
【myBean.mf】
Manifest-Version: 1.0

Name: beans/myBean.class
Java-Bean: True
【simpleTest.java】
import java.lang.*;
import java.beans.*;

public class simpleTest {
public static void main(String s[]) {
beans.myBean mb;
mb = new beans.myBean();
mb.setValue(123456789);
System.out.println(mb.getValue());
try {
mb = (beans.myBean)Beans.instantiate(null,"beans.myBean");
mb.setValue(987654321);
System.out.println(mb.getValue());
} catch(Exception e) {
e.printStackTrace();
}
}
}
【simpleTest.mf】
Manifest-Version: 1.0
Main-Class: simpleTest
class-path: beans/myBean.jar
Created-By: 1.0 (I.Kazawa@SoftwareControl)

0229デフォルトの名無しさんNGNG
同じレイアウトでラベルの文字やアイコンが異なるパネルを作るプログラムが
作りたいのですが、どうしても上手くいきません。
実際にパネルのレイアウトやラベルを貼るクラスと、メインとの受け渡しは
どう記述したら良いのでしょうか?
Object型の戻り値でメインに渡して、メインのフレームにgetContentPane().add(パネル);
としてるのですが、Eclipseでは
The method(java.awt.Component,java.lng.Object)in the java.awt.Container is not applicable
for the argument(java.lang.Object)
というエラーがgetContentPane().add()のaddの部分に出ます。
どうすれば解決するのでしょうか?
0230229NGNG
ちなみにメインの方では、
Object 変数 = パネルをレイアウトするクラス.メソッド();
と記述しました。これが間違っているんでしょうか・・・
0231デフォルトの名無しさんNGNG
panelのレイアウトがFlowLayoutで、
panel.add(button1);
panel.add(button2);
2個のボタンを追加すると左からボタン1、ボタン2と表示されるよね

addの順番を変えないで、表示の順番を変えることってできる?
0232デフォルトの名無しさんNGNG
>231
無理っす。
全部消してから順番を変えて add するべし。
0233デフォルトの名無しさんNGNG
>229
その説明ではよくわからんなぁ…。
> Object 変数 = パネルをレイアウトするクラス.メソッド();
↑の変数がパネルだよね?
add する時にキャストしてる?
0234デフォルトの名無しさんNGNG
>>231
panel.add(button1);
panel.add(button2);
panel.remove(button1);
panel.add(button1);
0235デフォルトの名無しさんNGNG
>>232>>234
ありがとSUN

button1が継承もとにあるんだよ
面倒だなぁ
0236デフォルトの名無しさんNGNG
>>235
Container#getComponents()とか其の辺使えば、
addしたのが継承元だろうがなんだろうが、そのContainerに
くっついているComponent全部取れるよ。Compositeパターン
はアリガタヤ。
■ このスレッドは過去ログ倉庫に格納されています