X



Java入門・初心者質問スレ Part.5©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0703デフォルトの名無しさん
垢版 |
2017/12/01(金) 07:25:24.88ID:4WTG5BjQ
インスタンスフィールドが初期化されるのはオブジェクトが作られたときでは
あるけれどもコンストラクタではないっすよ

なぜならばコンストラクタよりも先に実行される初期化ブロックで
すでに初期化された値を使用できるから

細かいようだけれども細かいことを問う試験なので用語は慎重に選んだがよいかと

>>701
0になる理由がわからないということだけれども
100になると思ったとするならば、クラスとオブジェクトの理解が不十分かと
クラスは設計図でオブジェクトはクラスをもとにメモリを確保したもの。
値を保持するのはオブジェクト。

Employee emp = new Employee();
Sales sal = new Sales();

これらの2つは別のオブジェクトなので
empに設定した値がsalに引き継がれるわけじゃないっすよ
0705デフォルトの名無しさん
垢版 |
2017/12/01(金) 10:02:11.12ID:9wzwhss2
java10からはvarとかexprswitchとか大分モダンになりそうだな
特にvarは左辺にジェネリクス書く必要性で代入のコードが大分見苦しかったから嬉しいわ
0706デフォルトの名無しさん
垢版 |
2017/12/01(金) 12:43:09.58ID:0P5bG9O7
JavaはC++になりたいのだろうか。
0707デフォルトの名無しさん
垢版 |
2017/12/01(金) 12:43:32.32ID:At9jdIip
>>701
emp.empNo には 100 を代入してるけど sal.empNo には何も代入してないからだ。
0710デフォルトの名無しさん
垢版 |
2017/12/01(金) 18:38:31.83ID:LP6gYbOQ
Item が Generic Type Parameter のときに

new Item[n]

とするのが禁止されている理由は何ですか?
0711デフォルトの名無しさん
垢版 |
2017/12/01(金) 19:39:56.19ID:22T+oeFd
>>710
Javaのジェネリクスは引数渡すときと戻り値受け取るときに暗黙的に片っ端からObjectからのダウンキャストを挿入しまくるだけ
当時のSunにはJVM弄る金がなくて、無理にC#に対抗しようとしてこんな手抜き実装になった
Javaのジェネリクスの不可解な制限は、「型パラメータの箇所は実際には全てObjectになる」と考えると理解できる
0712デフォルトの名無しさん
垢版 |
2017/12/01(金) 19:42:03.24ID:22T+oeFd
>>711
訂正
引数受け取るときはダウンキャストの挿入は不要だな
コンパイル時に型チェックが入るだけだ
0713701
垢版 |
2017/12/01(金) 20:34:25.02ID:V0hDe4m4
>>702 >>703 >>704 >>707 の方、
ありがとうございました。
理解を深めたいと思います。
0714デフォルトの名無しさん
垢版 |
2017/12/01(金) 21:13:13.85ID:dI2KS8fm
相変わらずここで回答してる奴等のレベルが糞すぎて呆れるw
なんで関係ないことをごちゃごちゃと書くんだ
見ててイライラするわアホ
0716デフォルトの名無しさん
垢版 |
2017/12/01(金) 22:50:38.37ID:9jtwLqtC
>>714
言ってやってくださいよ
関係あることだけをバシッと
0717デフォルトの名無しさん
垢版 |
2017/12/02(土) 08:19:53.33ID:35kZuAMb
varになるんだ
varがくるんだ
var
リリーススパン短くなるんだよな
リリースはいつだ
0721デフォルトの名無しさん
垢版 |
2017/12/02(土) 12:43:44.55ID:LweVlrmz
参照型変数は、普通何バイトの容量を食うのでしょうか?
0723デフォルトの名無しさん
垢版 |
2017/12/02(土) 14:03:58.05ID:N3tVMu/3
>>721
今さっき俺環境で調べたところ
Boolean=16
Character=16
Byte=16
Short=16
Integer=16
Long=24
Float=16
Double=24
であった
0725デフォルトの名無しさん
垢版 |
2017/12/02(土) 21:25:17.55ID:sygCH7Ik
やっとスッキリ全4巻読んだわ
4ヶ月かかった
なんかプログラムのイメージ変わったわ
プログラムといったらGUIソフトウェアや組み込みやゲームソフトっていうイメージだったけど
スッキリ(特にサーブレットJSPの本)読んでからようやくWEBアプリもプログラムという認識持てたわ
まぁ、あとになれば当たり前といえば当たり前だけど意識が変わってちょっと感動した!
0726デフォルトの名無しさん
垢版 |
2017/12/02(土) 21:27:53.94ID:FDfy7oeX
質問です。
Dogクラスと、それを継承したShibaDogクラスがあるとした場合、
Dog dog = new ShibaDog();
と宣言するのと、
ShibaDog dog = new ShibaDog();
と宣言するのでは、どう違いが出るのでしょうか?
生成されるインスタンスに間違い出るのでしょうか?
0728デフォルトの名無しさん
垢版 |
2017/12/02(土) 21:36:17.47ID:8UWC/wK0
>>726
後者で書くとコードレビューで意識高い系に
なんとなく俺は気に入らないという理由でリジェクトされるという違いはある
0729デフォルトの名無しさん
垢版 |
2017/12/02(土) 21:36:55.89ID:7Ki6lhB6
>>723
参照先で変わるの?
Object型で定義した変数にInteger型やLong型を代入したらどうなるの

普通に考えると参照先のアドレスの桁数分食うんじゃ
アドレスの替わり(本来逆)に値を直接入れるのが値型
そこらへんは書籍「なぜjavaで作るのか」にわかりやすくあった気がする
0730デフォルトの名無しさん
垢版 |
2017/12/02(土) 21:48:51.16ID:Q685GJlR
>>726
ShibaDog dog = new ShibaDog();

こうするとDogが提供してないけれども
ShibaDogが提供してる機能を使えるよ

一方で

void useDog() {
 Dog dog = createDog();
 ...
}

Dog createDog() {
 return new ShibaDog();
}

こういうふうにしてShibaDogの型情報を隠蔽すれば
ShibaDogの実装を変える必要があったときも
それを使う側に影響を与えなくできるよ

ケースバイケースで
0731デフォルトの名無しさん
垢版 |
2017/12/02(土) 22:12:09.80ID:UE7qzU9L
>>726
親クラス型 = 子クラスのインスタンス

子クラスのインスタンスを、親クラス型の変数へ代入して使うのは、
オブジェクト指向の基本だろ

まずこの本を読んで、オブジェクト指向の基本を学べ。
スッキリわかる Java入門 第2版、2014
0732デフォルトの名無しさん
垢版 |
2017/12/02(土) 22:14:49.24ID:TmTI6KJY
すっきり快便、健康が一番、みたいなやつか。
0733デフォルトの名無しさん
垢版 |
2017/12/02(土) 22:19:08.44ID:eNpd/Xiw
スッキリ本を売りたい奴がここに出入りしてるなw
0734デフォルトの名無しさん
垢版 |
2017/12/02(土) 22:34:23.46ID:rF0m5aZh
オラクル認定 Java SE Bronzeのレベルの知識もないのか。

ここはJavaの初心者というより、プログラマの初心者のスレッド?
0735デフォルトの名無しさん
垢版 |
2017/12/02(土) 22:37:08.24ID:ASbNJyJG
頼むから回答する馬鹿はまともな回答できるようになってからレスつけろって・・マジで
質問者が知りたい回答に対して1、2行で端的に回答できることを
混乱させるようなゴミみたいな内容でダラダラとレスするなよくっそイラつくわ
0737 ◆BrBq2CJg6HGd
垢版 |
2017/12/02(土) 23:03:23.71ID:dI4lTiLt
>>736
何だこいつ こんなとこで喧嘩売ってくんじゃねぇ
0738デフォルトの名無しさん
垢版 |
2017/12/02(土) 23:09:45.66ID:Q685GJlR
>>735
まともな回答を端的に示してくださいよ
あなたいつも他人にケチつけてるだけで
自分は何も書かずに安全圏から石投げてるヘタレじゃないですか
みんなそれわかってますよ、ちゃんとしてください
0739デフォルトの名無しさん
垢版 |
2017/12/02(土) 23:31:46.89ID:Q685GJlR
イラつくアピールしても何も改善しないでしょうに
手本を示してそれが素晴らしいものならみんな真似すると思うんだよね

自分ならこう答えるっていうのをすれば良いのに
それをしないからフラストレーションを溜め込むことになるんだよ

でも結局できないだろうけどね
質問者が知りたい回答なんて質問者しか知らないから想像して書くしかない
他人に文句付けた以上、自分の想像が外れていたらどうしようもない
怖くて結局自分では回答できない

その循環に陥って最終的にイラつくアピールするしかない
自ら作った檻に閉じ込められているプライドが高い臆病なケモノ
0741デフォルトの名無しさん
垢版 |
2017/12/02(土) 23:35:40.36ID:Q685GJlR
掲示板なんだからみんなであーでもないこーでもないとわいわいやったら良いじゃん
気軽に書き込めば良いじゃん、そしたらイラ立ちも減るんじゃないかな
0742デフォルトの名無しさん
垢版 |
2017/12/02(土) 23:39:24.24ID:rF0m5aZh
>>735
そもそもまともに質問してるやつがいるのか?
0743デフォルトの名無しさん
垢版 |
2017/12/02(土) 23:41:50.52ID:rF0m5aZh
学校の宿題みたいなものなら簡単だが、そうでない質問は情報不足ばかりで答えようがない。
0744デフォルトの名無しさん
垢版 |
2017/12/02(土) 23:46:12.83ID:Q685GJlR
>>743
想像力を膨らませるんだよ
きっとこの人は子供のころにこういう風な体験をして
星空を見上げながらこうつぶやいたんじゃないだろうかと
そういうことを想像しながら質問者の立場に思いを馳せて息遣いを感じれば回答できるよ!
もしくは欲しい情報を聞くとか
0745デフォルトの名無しさん
垢版 |
2017/12/03(日) 00:29:32.29ID:VmYuVA7J
>>744
そういうのは絶対ダメだよ。学生?
0746デフォルトの名無しさん
垢版 |
2017/12/03(日) 00:46:24.43ID:PfM4W5v0
>>745
学生じゃないよ、学生かどうかは関係ないと思うけどね

そういうのってどういうの?
想像力を膨らませること?
欲しい情報を聞くこと?

情報不足だから教えて欲しい
と、まあこのように聞くことができるわけです
0747デフォルトの名無しさん
垢版 |
2017/12/03(日) 00:57:27.93ID:9IXVpMSN
なんだ、ニートか
0748デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:02:20.47ID:PfM4W5v0
>>747
ニートじゃないよ、ニートかどうかは関係ないと思うけどね
0749デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:08:51.75ID:PfM4W5v0
学生とかニートとかそういう社会的な立場を持ち出すのってどうなの?
しかも社会的には下に見られるようなものばかりじゃん
相手を貶める意図があるのかな? ん? どうなんだ?
自分が上だと思い込みたい卑しい思いがあるんだろ?
ちなみに俺は黒色のパンツを履いてる29歳の女医だ
0750デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:17:09.93ID:VmYuVA7J
書いてないこと、言ってないことを想像で決めるなんて実務ではありえない。
0751デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:19:27.02ID:PfM4W5v0
>>750
マジで? これよろしくやっといてよって仕事任されない?
0752デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:24:58.38ID:WBs9Zv02
それは多分任されたのではなく丸投げと言う
右から左でスルーパスが彼のSIGOTOなんだろう
0753デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:25:49.34ID:PfM4W5v0
ある程度想像で進めておいて詳細はあとで詰めるなんてことザラにあるよ
不明な点をすぐに確認しないと仕事進められないこともあるけどね
仕事っていうのは何でもあり、想像力も調整力も観察力もコミュ力も
使えるものは何でも使ってとにかく頑張るんやで
0754デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:29:53.79ID:PfM4W5v0
>>752
パスして責任はきちんと取ってくれる上司がいるなら
仕事を任されてると言っていいのじゃないかな

俺にはそういう上司がいるし俺は本当に運が良くて恵まれてる
天が俺に幸せになれって言ってる
0755デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:38:31.04ID:PfM4W5v0
上司に恵まれないみなさん
自分が上司になったときは部下を幸せにするんやで
0756遊園
垢版 |
2017/12/03(日) 01:42:14.45ID:bHdcLBGh
ガチの5年無職 スキル無しが来てやったけど、

 お前ら、震えてんの?
0757デフォルトの名無しさん
垢版 |
2017/12/03(日) 01:48:39.47ID:PfM4W5v0
>>756
温めてくれ
0758デフォルトの名無しさん
垢版 |
2017/12/03(日) 04:08:43.73ID:eihlpLuq
>>726
Dog dog = new ShibaDog(); と書いた場合は dog が ShibaDog クラスのインスタンスを
指してはいるが dog は Dog クラスとしてしか扱えない。つまり Dog クラスで定義されていて
アクセス可能になっているメソッドや変数にしかアクセスできない。

このようにすると折角新たな機能を追加したのにそれが使えなくなるために損をしたかの
ように見えるかも知れない。しかし他の Dog クラスまたは Dog クラスを継承したクラスの
インスタンスでも同じ Dog クラスとして扱えるという利点がある。

すると例えば Dog クラスの配列やリストを作って ShibaDog やその他色々な Dog クラスを
継承したクラスのインスタンスを要素として代入して同列に扱う事が出来たり、Dog クラスの
インスタンスを引数とするメソッドを書けば Dog クラスのインスタンスだけでなく Dog クラスを
継承したクラスのインスタンス(今回の話の場合は ShibaDog のインスタンス) であっても
受け付けられる。
0759デフォルトの名無しさん
垢版 |
2017/12/03(日) 09:00:42.87ID:WBs9Zv02
どうでもいい話でよく続けられるな
Dogを何に使うのか不明だが、おそらくこの場合はデータ構造としての犬だろうから
ShibaDogを作るよりenum BreedTypeを用意しShibaInuを追加した方が自然じゃないか
0762デフォルトの名無しさん
垢版 |
2017/12/03(日) 09:21:54.60ID:YOGcX2ny
世界自体が究極的にはデータの羅列
クラスは人間が決めた枠組みだ
人間が柴犬は特別だとおもえばそれはクラスになるんだ
文句あるか
0763デフォルトの名無しさん
垢版 |
2017/12/03(日) 14:39:37.44ID:eihlpLuq
>>759
この場合は、な。
0764デフォルトの名無しさん
垢版 |
2017/12/03(日) 17:52:29.67ID:UM90GHZA
Runnable の run() メソッドの中で計算した結果をメソッド終了後に取り出したいと
考えています。
インスタンス変数を用意して run() の終わりに保管し、getter メソッドで読むことは
できたのですが、他に簡単な方法はないでしょうか。
0765デフォルトの名無しさん
垢版 |
2017/12/03(日) 17:52:57.59ID:6/4LIkpN
ジャバーって名前空間ないのかよ。
0766デフォルトの名無しさん
垢版 |
2017/12/03(日) 17:56:46.43ID:UHFhaXR5
>>758
Dog型の配列やリスト構造でShibaDogを扱った場合に、ShibaDog固有のメソッドが必要になった場合はどうすれば良いのでしょうか?
諦めるしかないですか?
0767デフォルトの名無しさん
垢版 |
2017/12/03(日) 18:08:10.62ID:D+X5wALj
>>764
CallableとかFutureを使う
同期化してないインスタンス変数を使って状態を共有するのは、バグの元だからやめた方がいいよ
0771デフォルトの名無しさん
垢版 |
2017/12/03(日) 21:32:21.30ID:CdnEE9AY
>>766
>Dog型の配列やリスト構造でShibaDogを扱った場合に、
>ShibaDog固有のメソッドが必要になった場合は、どうすれば良いのでしょうか?
>諦めるしかないですか?

オーバーロードは、オブジェクト指向の基本だろ

だから、こういう事をさせないために、親子クラスで、同名の関数を使っても、
各クラス独自の処理が呼ばれるようになっている

親クラス型の変数.f()
と書くと自動的に、インスタンスのクラスを判別して、各クラス独自の処理が呼ばれる

モンスター型の変数.攻撃()
と書けば、その怪物がドラゴンでもスライムでも、
各クラス内で書いたメソッドが呼ばれる

>>731 を読め
「スッキリわかる Java入門 第2版、2014」を読まないと、わかるのは無理
0772771
垢版 |
2017/12/03(日) 21:38:46.41ID:CdnEE9AY
モンスター型の変数.攻撃()
と書けば、その怪物がドラゴンでもスライムでも、
各クラス内で書いたメソッドが呼ばれる

switch (モンスター型の変数){
case ドラゴン:
case スライム:
}

つまり、オブジェクト指向で書くと、型を判別していた、switch 文が消える。
ここに新たな怪物、ゾンビを加えても、switch 文を修正しなくてよい

逆に言えば、switch 文で型を判別していたら、オブジェクト指向ではない!
0773デフォルトの名無しさん
垢版 |
2017/12/03(日) 22:02:54.85ID:UM90GHZA
> オーバーロードは、オブジェクト指向の基本だろ

そうなんですか。
非OOでもあり得るので、なんか本質的じゃない気もしますが。
0774771
垢版 |
2017/12/03(日) 22:22:47.04ID:CdnEE9AY
つまり、オブジェクト指向で書くと、型を判別していた、switch 文が無くなる。
ここに新たな怪物、ゾンビを加えても、switch 文を修正しなくてよい

設定ファイルに、怪物を追加しても、ソースコードを修正しなくてよいから、
簡単にテストできる

設定ファイル側を、ノンプログラマーに任せることができるので、
プログラマーとノンプログラマーなど、開発人材の配分がしやすい
0775デフォルトの名無しさん
垢版 |
2017/12/03(日) 22:45:20.02ID:r8GFm6Ok
オーバーライドのことがいいたいんですかね
0777771
垢版 |
2017/12/03(日) 23:12:16.74ID:CdnEE9AY
>>771
>オーバーロードは、オブジェクト指向の基本だろ

間違い。
Overload ではなく、Override
0778デフォルトの名無しさん
垢版 |
2017/12/03(日) 23:55:21.77ID:3T6nt+t7
スッキリを読むとバカになるという見本ですね、わかります
0779デフォルトの名無しさん
垢版 |
2017/12/04(月) 00:16:15.78ID:hBPXmQoD
いくら初心者スレとはいえ、オーバーライドとオーバーロードを混同する人は
回答側でレスしないでもらいたい。typo だとしても。
0780デフォルトの名無しさん
垢版 |
2017/12/04(月) 00:53:38.50ID:6+W+PiHG
スッキリ4冊を読むのに、4か月掛かった人がいるようだが、4冊で、100時間ぐらいだろ。
サラリーマンかな?

ニートなら、2週間ぐらいで読める。
サラリーマンは、ニートの1/8の能力しかない
0782デフォルトの名無しさん
垢版 |
2017/12/04(月) 01:22:12.91ID:SrwphgOz
しかしニートの場合付けた能力を発揮する場所がない。

あー。でもこの頃はGoogle PlayとかあるからAndroid用アプリを作って有料販売すれば収益プラスになって仕事してるのと同じになる場合もあるかな。
その場合はニートではなくなってしまう。
0783デフォルトの名無しさん
垢版 |
2017/12/04(月) 01:28:57.29ID:6+W+PiHG
サラリーマンで勉強している奴なんか、いない。
資格も、何十年も取らないし

勉強している奴は、ニートだけ

ただし、勉強はできるが、食えないw
0784デフォルトの名無しさん
垢版 |
2017/12/04(月) 02:12:20.84ID:Hu+byqMa
ニートが自己紹介をしてると聞いてw
0786デフォルトの名無しさん
垢版 |
2017/12/04(月) 03:07:27.16ID:SrwphgOz
心の中のニートとサラリーマンが戦っているのだろう
0789遊園
垢版 |
2017/12/04(月) 15:06:22.99ID:0LjC1FIJ
お前ら甘く見すぎ。

 俺の所の35歳はスッキリjava入門を11か月で読んだ猛者だぞwwww

さらに、勉強として15万のPC購入させて、自分は風俗、テレクラで

靴が擦る減るからハロワ行かない!!(年に一回だけハロワ行くも門前払いwww)

週に2,3回ww 作業所で自給100円で働いてるから無職じゃないって発言する最強のチートコンボだ!!!


お前らが背伸びしたって、28からニート貫いてる!!!

  俺らの[狂乱の大卒エリート35歳ちゃん]に

勝てる訳ねぇだろwwwww
0790デフォルトの名無しさん
垢版 |
2017/12/04(月) 15:15:34.98ID:6/FUB2Nq
それ面白いと思って書いてるのか?
0792デフォルトの名無しさん
垢版 |
2017/12/04(月) 16:44:05.84ID:WtAHWSD+
ニートがオーバーランしたのか。
0793デフォルトの名無しさん
垢版 |
2017/12/04(月) 17:18:07.58ID:j0BAli/W
どんどん新しい技術や方法が出てくるから常に学んでいる状態でないと息切れしてくる
Javaはenumサイコーなんて言っていたのはすでに過去のことで今はラムダ教である
0794デフォルトの名無しさん
垢版 |
2017/12/04(月) 18:02:56.20ID:WtAHWSD+
ラムダドライバか。
もう15年くらいたつな。
0795デフォルトの名無しさん
垢版 |
2017/12/04(月) 18:09:00.57ID:nKJqxEpH
Kotlin教に改宗しました
0797デフォルトの名無しさん
垢版 |
2017/12/04(月) 20:34:01.58ID:WtAHWSD+
パッケージ名ってラクダ式にしたらいいのか?
0798デフォルトの名無しさん
垢版 |
2017/12/04(月) 21:36:46.24ID:Wg82K19Z
optionalって実務で使ってる?
0799デフォルトの名無しさん
垢版 |
2017/12/04(月) 21:43:41.72ID:WtAHWSD+
Java始めたのが今日だからなあ。
0800デフォルトの名無しさん
垢版 |
2017/12/04(月) 22:31:31.67ID:WtAHWSD+
オラクルのチュートリアルにC++の二倍速いと書いてあったのでJava始めました。
0801デフォルトの名無しさん
垢版 |
2017/12/04(月) 22:40:18.90ID:WtAHWSD+
java.lang.Objectを継承すると何かいいことはありますか?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況