★★Java質問・相談スレッド182★★

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウウー Sa73-AAco [106.132.135.194])
垢版 |
2018/11/19(月) 11:37:06.10ID:C68x9bSia

プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。

前スレ
★★Java質問・相談スレッド181★★
https://mevius.5ch.net/test/read.cgi/tech/1518252580/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
463デフォルトの名無しさん (アウアウウー Sa47-jhwL [106.132.127.48])
垢版 |
2019/07/03(水) 12:47:59.60ID:0rGzsSa9a
Kotlinもよろしく
2019/07/03(水) 14:44:39.62ID:IwG6dpwN0
しばらく高速リリースでいいよ。今までがチンタラしすぎて、言語機能やらライブラリかなり他と比べて見劣りしてた。どんどん新機能追加がんばれ
2019/07/03(水) 15:11:11.12ID:hoHjSSrxM
Enterprise Java とか称してjavacのソースバージョンを6に指定するのが流行りそう
466デフォルトの名無しさん (ワッチョイ 7fb9-a57L [123.48.158.50])
垢版 |
2019/07/03(水) 17:26:52.20ID:C46248vl0
https://docs.oracle.com/javase/jp/8/javafx/layout-tutorial/size_align.htm
>border.setPadding(new Insets(20, 0, 20, 20));
>vbButtons.setSpacing(10);

こういう大きさとか座標系の数値はピクセル?
調べても単位が不明なんだが。
467デフォルトの名無しさん (ワッチョイ 7fb9-a57L [123.48.158.50])
垢版 |
2019/07/03(水) 17:28:29.94ID:C46248vl0
https://stackoverflow.com/questions/41241885/setheight-in-jfx-set-height-in-which-unit
pixelみたいだな

うーん
468デフォルトの名無しさん (ワッチョイ ffb9-T0Pq [123.48.158.50])
垢版 |
2019/07/04(木) 14:57:00.44ID:1bFHm9QF0
module-info.javaのrequiresはバージョンを指定しないから
依存性解決として不十分だと思うんだけど
もし実行時環境にバージョンが異なる複数のモジュールがあったらどうするの?
しかもいずれも必要で他のモジュールから参照されていたら。
pom.xmlを標準で採用してjarに含めるようにしたほうがよかったんじゃないの?
469◆9GoCDasLbI (ワッチョイ ffb9-T0Pq [123.48.158.50])
垢版 |
2019/07/04(木) 16:48:48.61ID:1bFHm9QF0
トリップつける
470デフォルトの名無しさん (ワッチョイ 6f01-VtwU [111.90.18.234])
垢版 |
2019/07/07(日) 01:06:12.15ID:HGCAr90Y0
あるディレクトリの1階層に下にあるファイルとディレクトリを取得したいのですが
簡単な方法ありますか?

あるディレクトリはPath型で指定して
取得するファイルやディレクトリはPath型のListに格納したいです
471デフォルトの名無しさん (ワッチョイ 6f01-VtwU [111.90.18.234])
垢版 |
2019/07/07(日) 01:37:07.01ID:HGCAr90Y0
>>470
自己解決しました
2019/07/07(日) 12:04:32.79ID:Ts5uCd7M0
Ruby では、glob で、/*/* を使うと、1階層下のみ。
/**/* なら、その下を再帰的にすべてたどる

dirs = [ ]; files = [ ]

Dir.glob( 'C:/Users/Owner/Documents/Ruby/selenium/*/*' ) do |path|

if File.directory? path # directory
dirs.push path
else
files.push path
end
end

p dirs, files
2019/07/07(日) 12:36:49.37ID:CK++WJ+eM
>>472
グロ
2019/07/09(火) 23:54:05.37ID:iNtZPA5w0
public class Employee{

private final string HIRA = "111"
private final string PRESIDENT = "555"

private interface length { //文字長
int HIRA = 3;
int PRESIDENT = 3;
}

private interface japanese { //日本語
string HIRA = "平社員"
string PRESIDENT = "社長"
}

//以下main処理
}

こんなプログラムを改修していたのですが,「private interface 」とは何なのでしょうか?
インターフェースは別クラスに作り,それをmainクラスなりでimplementするものだと思ってました。

確かにこれなら同じ名前を用いることができて便利だなあと関心し,他に意味があるのかと調べたんですが,
「private interface」というものは出てきませんでした。
2019/07/10(水) 00:18:52.26ID:9g1OJL4d0
他に意味はありません
2019/07/10(水) 00:20:58.93ID:9g1OJL4d0
定数をまとめてるだけ
privateはそのクラス内でしか参照しないってこと
2019/07/10(水) 00:21:49.62ID:9g1OJL4d0
大したことやってない調子に乗るなとコメントに書いといたが良い
2019/07/10(水) 02:33:49.57ID:1RE3v5Jp0
テストコード書いたことなくて勉強してるんだけど
どんな粒度で書けばいいのか分からない

どこかいいソースとかサイト誰か教えて
JavaのArrayListとかってテストコードあるの?
2019/07/13(土) 22:05:57.64ID:cGtMHMBed
streamに対する操作として、max(Comparator::natualOrder)みたいにメソッド参照で操作できますか。どの参考書にもComparator.natualOrder()を使ってるのですが
480デフォルトの名無しさん (ワッチョイ 9e02-24gz [175.134.57.7])
垢版 |
2019/07/13(土) 22:46:57.40ID:8ITWxw560
だから?
481デフォルトの名無しさん (ワッチョイ 9e01-R2Rk [111.90.18.234])
垢版 |
2019/07/13(土) 22:53:55.53ID:ceXHLd/u0
>>479
やってみればわかるけどmax(Comparator::natualOrder)はコンパイルエラーになるよ

maxの引数はComparator型のオブジェクト
Comparatorは任意の型の値を2つ受け取ってint型の値を返すもの

Comparator::natualOrderは0個の引数を受け取ってComparatorを返すもの

natualOrderが返すものがComparatorであってnatualOrder自体はComparatorじゃないからムリ
2019/07/13(土) 23:05:17.14ID:3z2XwFOM0
>>478
RSpecで書かれたRailsチュートリアル 第6章のテストコードをレビューしてみた
https://www.youtube.com/watch?v=qpiKb0mdbr0

伊藤淳一のRuby on Rails のテスト動画ならあるけど
2019/07/14(日) 02:22:08.36ID:PhrrbKHI0
固定リスト(aslist)と不変リスト(list.of)の意味の違いがわかりません。

addとか操作できないなら同じじゃないんですか?
484デフォルトの名無しさん (ワッチョイ d2b9-YtL5 [123.48.158.50])
垢版 |
2019/07/14(日) 03:04:54.15ID:uKA/y8Qo0
プロジェクトをjarに出力しようとしてる。
jarのmeta-infフォルダの内容をカスタマイズしたいがどうすればできるか?
485デフォルトの名無しさん (ワッチョイ d2b9-YtL5 [123.48.158.50])
垢版 |
2019/07/14(日) 04:34:56.16ID:uKA/y8Qo0
Javaプロジェクトで作成してソースフォルダ直下に置いたらできた
でもMavenプロジェクトだとソースフォルダ直下に何かを置くという操作ができないな
486デフォルトの名無しさん (ワッチョイ 9e02-24gz [175.134.57.7])
垢版 |
2019/07/14(日) 04:53:07.55ID:VYOKuUQn0
>>483
https://codeday.me/jp/qa/20190310/372440.html
2019/07/17(水) 13:24:48.47ID:AbaZohHR0
Javaのアップデートに関する質問です。
環境はwindows8.1で、タスクバーにJavaのアイコンが現れて「Java Update利用可能」の状態なのですが、
アイコンをダブルクリックすると

スクリプトエラー
このページでスクリプトエラーが発生しました。
ライン; 1
文字 : 1
エラー: ')' がありません。
コード: 0
URL:

と表示されてインストールが出来ません。
どうすればアップデートできるのでしょうか?
2019/07/17(水) 13:30:46.74ID:fonZVrUF0
それプログラムの話か?
489デフォルトの名無しさん (アウアウウー Saa3-KZVA [106.132.129.79])
垢版 |
2019/07/17(水) 18:03:20.99ID:YN7zKeiTa
>>487
わからない。一度アンインストールしてから新しいやつ自分でダウンロードしてインストールし直したら?
2019/07/17(水) 19:44:43.28ID:Dw6BLpSrx
>>487
アインストールして入れ直せばできたぞ
2019/07/18(木) 01:34:31.80ID:KhUYMYet0
>>489,490
ありがとう、公式からインストーラーダウンロードして手動でインストールしたら出来ました。
しかしインストール後 Javaコントロールパネル を覗いてみると 「アップデート」のタブがなくなっています。
「アップデート」のタブって消えたりするものでしたっけ?
2019/07/23(火) 12:11:44.39ID:J+ZHGa1Mr
初心者なんですが

ホームページ作るんですけどmysql使ってデータ入力して
そのデータを例えばプルダウンメニューからa-zの頭文字をクリックして引き出して表示させる、みたいな感じにしたいんですが
色々調べたらphp使った方がいいみたいな記事ばかりなんですが
javaだと難しいんでしょうか?
493デフォルトの名無しさん (ワッチョイ 6b02-tWJ1 [113.158.53.138])
垢版 |
2019/07/23(火) 12:23:47.74ID:zKHHLY/G0
javaを使える人が試しにphp使うとphpの楽さがわかる程度に楽なはず
odbcを難なく使えるならばjavaですんなり作れる腕のはず
2019/07/23(火) 12:25:49.33ID:pMPIgbDXM
難しいというかゴキブリを殺るのにショットガンを持ち出すようなもの
2019/07/23(火) 20:28:53.96ID:sDqE/UWhM
最近のGは殺虫剤耐性あるらしいから、確実性を狙うならあるいは…
2019/07/24(水) 02:44:47.37ID:S0ZgllDI0
凍らすやつ使いなさい
2019/07/25(木) 23:39:46.79ID:uj29tKpW0
eclipseいれたんですが、重すぎて全然動かなくて困りまして‥
軽くておすすめのIDEありますか?みなさんは何を使っているんでしょうか
2019/07/25(木) 23:52:41.82ID:uZl1AFvy0
NetBeansしか使ってないけど、ふつうに快適だお。
2019/07/25(木) 23:57:00.32ID:BYStTgyKa
今だとIntelliJかVSCodeだな
eclipseが重いならIntelliJも辛いかも
VSCodeは設定が少々面倒だが軽いしeclipseとかいうゲロ糞よりは遥かに使いやすい
2019/07/26(金) 00:00:45.33ID:4WOlvOyb0
俺もvscodeしか使わなくなってしまったけど、eclipseのリファクタ機能は神がかってたと思う
501デフォルトの名無しさん (ワッチョイ d5a3-+Thh [218.226.211.189])
垢版 |
2019/07/26(金) 10:42:10.57ID:FYq97nVK0
>>429
増分コンパイルされないから
2019/07/26(金) 11:09:47.00ID:bozmWfe6M
>>497
netbeans使ってるわ
動き自体は軽くて快適だよ
apacheに移って将来性良くわからんけどね
2019/07/27(土) 11:44:00.92ID:Ly9dgVjB0
5Gの時代だとJAVAの需要って増えるんでしょうか?
2019/07/27(土) 12:34:46.96ID:+u70Cj0O0
増えるよ
2019/07/27(土) 12:43:20.69ID:Ly9dgVjB0
オラクルすごいっすね
506デフォルトの名無しさん (オイコラミネオ MM11-CDeu [150.66.67.123])
垢版 |
2019/07/27(土) 23:34:08.27ID:gfq5vQssM
javaってなんでjavaって名になったんですか?
507デフォルトの名無しさん (ワッチョイ 3601-FpXu [111.90.8.52])
垢版 |
2019/07/27(土) 23:44:51.88ID:6Xw13KxI0
>>506
「私はJavaと命名しました」と当時のOak製品マネージャーであり、現在はMarimba
Inc.のCEOであるKim Polese氏は語ります「私は正確に正しい名前を付けたかった
ので、Javaの命名に多くの時間と労力を費やしました。 このプログラミング言語は非常
にユニークであるため、私はオタク的な名前を避けることにしました。 私は、かっこよ
く、ユニークで、そして綴りが簡単で、言えることが楽しい何かが欲しいと思いました。

「私はチームを部屋に集め、「ダイナミック」、「生きている」、「衝撃」、「衝撃的」
、「革命的」などの単語をホワイトボードに書いて、グループをブレインストーミングに
導いた」とPoleseは言った。 。 「このセッション中に[Java]という名前が登場し
ました。WebRunnerLanguage用のDNA、Silk、Ruby、WRLなどの他の名前には、
yuck!」

So why did they decide to call it Java? | JavaWorld
https://www.javaworld.com/article/2077265/so-why-did-they-decide-to-call-it-java-.html
508デフォルトの名無しさん (ワッチョイ a5ad-f/ht [42.145.105.241])
垢版 |
2019/07/28(日) 14:56:11.60ID:K7yfQMT20
通知バーのJAVAアイコンからインストールしようとするとかっこがありませんっていう構文エラーが出てきてうんともすんとも言わなくなるんだけど何なの?
509デフォルトの名無しさん (ワッチョイ a5ad-f/ht [42.145.105.241])
垢版 |
2019/07/28(日) 14:58:28.50ID:K7yfQMT20
>>487
よくみたらこれだわ
7でも10でも会社のPCでももれなく起きるわ
公式で何か言ってくれてたりしないのかな
510デフォルトの名無しさん (ワッチョイ d561-JDM+ [218.231.141.143])
垢版 |
2019/07/28(日) 18:28:52.54ID:FY1e9//S0
ライセンス変更になって、OTNに登録していないとDLできないようになったからじゃね?
どのみち、Java8を最後にJRE単体配布もなくなるし。
511デフォルトの名無しさん (ワッチョイ a5ad-f/ht [42.145.105.241])
垢版 |
2019/07/28(日) 18:35:57.14ID:K7yfQMT20
仮にそれだとして)がありませんエラーでタスクバーにアイコン表示させっぱなしにするという糞対応する?
2019/07/28(日) 23:05:49.68ID:6yOnmo+3M
java silverとるなら8と11どっちがいいんだろ?
2019/07/28(日) 23:13:42.22ID:fQf3JBTW0
お好きなように
2019/07/29(月) 08:45:19.65ID:f73BLAzPM
どっちも等しく意味はないからどっちでも
2019/07/29(月) 21:45:18.18ID:CSar0obtd
https://i.imgur.com/7ssVURS.jpg
516デフォルトの名無しさん (ワッチョイ b6da-9Rzn [223.218.251.239])
垢版 |
2019/07/29(月) 22:07:22.51ID:ah/mqMgZ0
>>515
グロ
517デフォルトの名無しさん (ワッチョイ f6a6-CDeu [119.240.124.4])
垢版 |
2019/07/30(火) 07:18:51.66ID:VrpHK0hY0
またウン○か!
518デフォルトの名無しさん (ワッチョイ e3ed-J+AI [61.203.126.217])
垢版 |
2019/08/14(水) 21:20:43.55ID:k4UWt8la0
mutex
2019/08/21(水) 16:15:25.16ID:0yVqkKpPM
public <T> T & Cloneable makeItCloneable(final T it) {
return (T & Cloneable) it;
}
みたいなことってどうやったらできるんですか?このソースコードだとマーカーアノテーションのくせにCCEが投げられるんですけど
520デフォルトの名無しさん (アウアウウー Sa2b-ZOU2 [106.132.128.168])
垢版 |
2019/08/21(水) 20:08:48.99ID:8NVHTeeBa
&?
521デフォルトの名無しさん (ワッチョイ 87ed-MlRc [122.135.18.167])
垢版 |
2019/08/27(火) 00:51:52.57ID:A4w3mNFW0
わらた
522デフォルトの名無しさん (ワッチョイ 87ed-MlRc [122.135.18.167])
垢版 |
2019/08/27(火) 00:52:40.01ID:A4w3mNFW0
Classってクラスにそんなメソッドあったかも、
2019/10/03(木) 14:17:38.96ID:FzwUXprsa
図書館で2007年出版の参考書借りてきたんですがまだ使えますか?
2019/10/03(木) 21:24:07.43ID:Y8ReZprUa
使ってみたらライブラリDLするところでリンク切れてて実行環境作れませんでした・・・出直してきます

環境変数とドキュメントの入手は成功したんですが古い参考書はダメですね
525デフォルトの名無しさん (ワッチョイ 1394-o6K/ [123.48.64.125])
垢版 |
2019/10/08(火) 00:59:42.36ID:pe44plco0
awtは今後もサポートされ続けるの?
打ち切りの話とか出てる?
526デフォルトの名無しさん (アウアウウー Sa9d-8Spd [106.132.135.144])
垢版 |
2019/10/08(火) 10:24:59.08ID:UHIrT7RMa
さあ?しかし swing のベースにもなっているので無くなれば swing ごと消滅になると思うよ。
527デフォルトの名無しさん (ワッチョイ 1394-o6K/ [123.48.64.125])
垢版 |
2019/10/08(火) 17:43:19.07ID:pe44plco0
Desktopクラスがawtだから
javaでURLを開いてデフォルトブラウザで開こうとしたらawt必須でしょ?
javafxにDesktopクラスに相当するものがないし
awtはGUIフレームワークというよりもっと広い範囲の機能を持ってしまってる
528デフォルトの名無しさん (アウアウウー Sa9d-8Spd [106.132.138.94])
垢版 |
2019/10/08(火) 21:06:48.90ID:gO+Oxfwra
ネイティブ環境との橋渡し的なものだな
529デフォルトの名無しさん (ワッチョイ 2302-6CKJ [125.52.64.191])
垢版 |
2019/10/11(金) 08:20:28.90ID:OWmYpcgG0
Javaの課題が大量に出たのですがメソッドがうまく理解できず全く進めません

厚かましいですが問題を解いて解説できる方がいらっしゃったらお願いします

https://i.imgur.com/JEjERTW.jpg
https://i.imgur.com/VPD27ce.jpg
2019/10/11(金) 08:26:49.78ID:Z7kWidgaM
>>529
どこまで自分でかけたのか晒してくれないと教える気にならん
531デフォルトの名無しさん (ワッチョイ 2302-6CKJ [125.52.64.191])
垢版 |
2019/10/11(金) 08:38:54.76ID:OWmYpcgG0
すみません、問題を間違えてました
こちらの問題です
かけたのはここまでです


https://i.imgur.com/Yz3kEf9.jpg

https://i.imgur.com/jmLjScb.jpg
2019/10/11(金) 09:29:43.97ID:R6n+lsqkr
メソッドの書き方自体は問題無いから中身だね
a % b == 0 のときaはbの倍数
これとfor文とif文を組み合わせてカウントして出力しよう
533デフォルトの名無しさん (ワッチョイ 2302-6CKJ [125.52.64.191])
垢版 |
2019/10/11(金) 09:40:24.96ID:OWmYpcgG0
ありがとうございます…!
やってみます!
534デフォルトの名無しさん (アウアウクー MMe1-mT29 [36.11.225.124])
垢版 |
2019/10/12(土) 02:36:24.75ID:w1B6WBqOM
とりまpc使おうず
2019/10/15(火) 22:14:15.26ID:d4ecUmga0
DateTimeFormatterについて教えて。

日付を月と日にフォーマットしたいのですが簡単な方法はありませんか?
システムの言語が日本語だったら10月15日で英語(US)だったらOctober 15などと表示したいです。
DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG).format(localDate)とすると
2019年10月15日となってしまって年が不要です。

JDK1.8でandroidアプリです。
2019/10/16(水) 11:46:30.44ID:WGPalTIjM
>>535
https://developer.android.com/reference/android/text/format/DateUtils.html?#formatDateTime(android.content.Context,%20long,%20int)
2019/10/17(木) 07:07:53.32ID:8j+Ah9oeM
ありがとう
簡単にできそうです
OSによって微妙に動作が違うっぽいけどいろいろ使えそう
538デフォルトの名無しさん (ワッチョイ 3f94-MZfN [123.48.64.125])
垢版 |
2019/10/25(金) 14:12:30.48ID:RuWUXZ3V0
javaとc#で総称型の実装が違うけど
javaのイレージャというのは実際どう思う?
実際書いてるとなんとかなるけど、総称型情報が実行時に取得できないというのは、
処理系の評価としてはどうなんだろうか?

つまりjavaは付け焼刃の中途半端な実装をしているんだろうか?
それともイレージャが理想なんだろうか?
539デフォルトの名無しさん (ワッチョイ 3f94-MZfN [123.48.64.125])
垢版 |
2019/10/25(金) 15:36:15.49ID:RuWUXZ3V0
SecurityManagerで動的にロードされたプログラムにポリシーを適用するという方法で
「動的にロードされたプログラムはこれらのパッケージ(またはメソッド)にのみアクセスしていい」
というような制限は実現できる?
540デフォルトの名無しさん (ワッチョイ 3f94-MZfN [123.48.64.125])
垢版 |
2019/10/25(金) 15:50:04.14ID:RuWUXZ3V0
AWTPermissionみたいないろんなパーミッションがあるけど
そもそもある動作がどんなパーミッションを必要とするか?をカスタマイズできるのかどうか。
自分の独自クラスが独自パーミッションを必要とする、という事は可能なのか?
2019/10/25(金) 21:18:19.60ID:XWvZhZOSM
>>540
可能
https://wiki.sei.cmu.edu/confluence/plugins/servlet/mobile?contentId=88487519#content/view/88487519
542デフォルトの名無しさん (ワッチョイ 3f94-MZfN [123.48.64.125])
垢版 |
2019/10/26(土) 08:22:00.87ID:eCInqrX90
そのページにSecurityManagerに関したことは何もないと思うが?
2019/10/26(土) 10:07:30.29ID:NCT+ojVgM
>>542
ハッシュの有無で表示されるページが変わる(5chはurl encode/decodeしてないからjumpページでハッシュが消費される)

デスクトップ版のURL
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?pageId=88487519
544デフォルトの名無しさん (ワッチョイ 3f94-MZfN [123.48.64.125])
垢版 |
2019/10/26(土) 11:01:22.96ID:eCInqrX90
おお、ありがとう。できるみたいだな。
2019/10/31(木) 11:55:26.14ID:uuxNXwwOd
今swingでアプリ作ってるんだけど
JButtonで別クラスの処理を呼び出してその進捗をJTextAreaとかに表示させたい場合は引数としてJTextAreaの変数を持たせるのでいいのかな?
2019/10/31(木) 11:56:19.01ID:uuxNXwwOd
すまん書き忘れた
一応動いてはいるけどこれが正しい手法なのか知りたい
2019/10/31(木) 14:42:41.53ID:ovdADILrM
>>545
Observerパターン使うかコールバック関数渡すかして進捗報告のタイミングでコールバックさせる
2019/11/02(土) 14:26:37.67ID:9S5zkDTmd
>>547
なるほどありがとう

あとずっと気になってたんだけど
時々コンストラクタじゃなくてそのクラスのstaticメソッド使ってインスタンスを初期化するようなクラスがあるけど
アレってどんな意味があるの?
2019/11/02(土) 22:26:37.87ID:UpyqzFZSM
>>548
Effective JavaのItem1なので
「"static factory method" "effective java"」で検索して解説を読むといいと思う
550デフォルトの名無しさん (ワッチョイ 575f-HgEL [106.72.163.96 [上級国民]])
垢版 |
2019/11/02(土) 22:43:41.51ID:qsr44g5y0
>>548
必ずコンストラクタで初期化するものなら、コンストラクタそのものがいらないことに気づかないのか?
551デフォルトの名無しさん (ワッチョイ 575f-HgEL [106.72.163.96 [上級国民]])
垢版 |
2019/11/02(土) 22:51:03.49ID:qsr44g5y0
間違った。コンストラクタで同じ初期化をされると都合が悪い場合だった。

コンストラクタは常に同じ初期状態を作るために存在しているので、初期状態を複数パターン持ちたい場合は、コンストラクタが邪魔になる。
2019/11/03(日) 06:15:26.16ID:Z7LNI9940
>>549
ありがとう
ちょっと内容紹介してるブログ読んだけどこの本わかりやすくていいな
553デフォルトの名無しさん (アウアウウー Sab7-a5T4 [106.132.122.50])
垢版 |
2019/11/03(日) 17:36:34.34ID:+YBSyx/ia
>>548
実装を隠したい時とかかな。
interface または abstrct クラスを公開して実装したクラスを非公開にして直接 new させない。
しかしどこかで new する必要があるので stasic メソッド作ってそこでやる。
2019/11/03(日) 20:17:58.07ID:Z7LNI9940
>>553
隠したいってのは知的財産的な意味で?
完全な趣味でやってるからその辺の事情となるとよくわかんないや
555デフォルトの名無しさん (ワッチョイ 3aad-LfSi [27.139.18.89])
垢版 |
2019/11/03(日) 21:18:47.91ID:ax9Okew10
>>554
例えばLocaleによって実装クラスを変えたい時とか。
556デフォルトの名無しさん (ワッチョイ 575f-HgEL [106.72.163.96 [上級国民]])
垢版 |
2019/11/03(日) 22:13:21.53ID:z6AvjLYh0
コンストラクタは初期化処理部分を明示するために存在しているブロックにすぎない。
557デフォルトの名無しさん (ワッチョイ 238f-6BDJ [118.7.1.66])
垢版 |
2019/11/06(水) 21:18:18.94ID:YMOIABpf0
以下の場合、オブジェクト指向で考えると、
何をクラスにし、何をメソッドにするのが良いのかを教えてください。

・商品の状態がテキストファイルに記録されていて、それをExcelへ一覧出力します。
 テキストには、商品ID、名前、製造日がスペース区切りで記録されていて、
 それら情報を毎日、Excelのセルへ入力する部分をjavaで実装します。
・本を読むと、Id、Name等を宣言して、Item.name等で名前を管理すべきかとも思います。
 (以下は文法上誤りですが雰囲気として書きます)

class Item{
public void Id()
public void Name()
public void date()
}

今は商品ID、名前、製造日を2次元配列に読み込ませて処理しています。
558デフォルトの名無しさん (ワッチョイ d601-9lYZ [111.90.14.57])
垢版 |
2019/11/06(水) 22:09:08.17ID:i1VxEute0
俺ならこうかな
・商品クラス
・テキストファイルから商品を読み込むクラス
・エクセルに商品を出力するクラス
559デフォルトの名無しさん (ワッチョイ 238f-x9nz [118.7.1.66])
垢版 |
2019/11/06(水) 22:19:59.95ID:YMOIABpf0
クラスは対象物テキストやエクセル()、
メソッドは動作(読み込みや書き出し)と言う風に作るという事ですか?
560デフォルトの名無しさん (ワッチョイ 238f-x9nz [118.7.1.66])
垢版 |
2019/11/06(水) 22:20:58.67ID:YMOIABpf0
書き間違えました。
----

クラスは対象物(テキストやエクセル)、
メソッドは動作(読み込みや書き出し)と言う風に作るという事ですか?
561デフォルトの名無しさん (ワッチョイ d601-9lYZ [111.90.14.57])
垢版 |
2019/11/06(水) 22:54:04.65ID:i1VxEute0
読み込みと書き込みは分けた方がテストしやすいだろうなってだけ
概念的なことは何も考えてない
562デフォルトの名無しさん (アウアウクー MMcb-qG8t [36.11.224.107])
垢版 |
2019/11/07(木) 15:31:41.64ID:Htm+xBrDM
その分け方はオブジェクト指向のクラス分けではなくモジュール分けにすぎないが否定はしない。
563デフォルトの名無しさん (アウウィフ FF5b-WuPA [106.171.65.44])
垢版 |
2019/11/07(木) 21:00:09.74ID:OX40Pd+4F
>557です
単に手続きを分けるだけなら考えついたのですが、
ちょっとオブジェクト指向ではないと思っています。

商品というオブジェクトをどう管理するのかが
肝だと思うんですが、言い分け方ないでしょうか。
■ このスレッドは過去ログ倉庫に格納されています