Java入門・初心者質問スレ Part.5©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>711
訂正
引数受け取るときはダウンキャストの挿入は不要だな
コンパイル時に型チェックが入るだけだ >>702 >>703 >>704 >>707 の方、
ありがとうございました。
理解を深めたいと思います。 相変わらずここで回答してる奴等のレベルが糞すぎて呆れるw
なんで関係ないことをごちゃごちゃと書くんだ
見ててイライラするわアホ >>714
言ってやってくださいよ
関係あることだけをバシッと varになるんだ
varがくるんだ
var
リリーススパン短くなるんだよな
リリースはいつだ パターンマッチングはinstanceof書きまくってうんざりしてた諸兄に朗報だな 参照型変数は、普通何バイトの容量を食うのでしょうか? instanceof書きまくってた時点でおかしいと気付こうよ >>721
今さっき俺環境で調べたところ
Boolean=16
Character=16
Byte=16
Short=16
Integer=16
Long=24
Float=16
Double=24
であった やっとスッキリ全4巻読んだわ
4ヶ月かかった
なんかプログラムのイメージ変わったわ
プログラムといったらGUIソフトウェアや組み込みやゲームソフトっていうイメージだったけど
スッキリ(特にサーブレットJSPの本)読んでからようやくWEBアプリもプログラムという認識持てたわ
まぁ、あとになれば当たり前といえば当たり前だけど意識が変わってちょっと感動した! 質問です。
Dogクラスと、それを継承したShibaDogクラスがあるとした場合、
Dog dog = new ShibaDog();
と宣言するのと、
ShibaDog dog = new ShibaDog();
と宣言するのでは、どう違いが出るのでしょうか?
生成されるインスタンスに間違い出るのでしょうか? >>726
後者で書くとコードレビューで意識高い系に
なんとなく俺は気に入らないという理由でリジェクトされるという違いはある >>723
参照先で変わるの?
Object型で定義した変数にInteger型やLong型を代入したらどうなるの
普通に考えると参照先のアドレスの桁数分食うんじゃ
アドレスの替わり(本来逆)に値を直接入れるのが値型
そこらへんは書籍「なぜjavaで作るのか」にわかりやすくあった気がする >>726
ShibaDog dog = new ShibaDog();
こうするとDogが提供してないけれども
ShibaDogが提供してる機能を使えるよ
一方で
void useDog() {
Dog dog = createDog();
...
}
Dog createDog() {
return new ShibaDog();
}
こういうふうにしてShibaDogの型情報を隠蔽すれば
ShibaDogの実装を変える必要があったときも
それを使う側に影響を与えなくできるよ
ケースバイケースで >>726
親クラス型 = 子クラスのインスタンス
子クラスのインスタンスを、親クラス型の変数へ代入して使うのは、
オブジェクト指向の基本だろ
まずこの本を読んで、オブジェクト指向の基本を学べ。
スッキリわかる Java入門 第2版、2014 オラクル認定 Java SE Bronzeのレベルの知識もないのか。
ここはJavaの初心者というより、プログラマの初心者のスレッド? 頼むから回答する馬鹿はまともな回答できるようになってからレスつけろって・・マジで
質問者が知りたい回答に対して1、2行で端的に回答できることを
混乱させるようなゴミみたいな内容でダラダラとレスするなよくっそイラつくわ >>736
何だこいつ こんなとこで喧嘩売ってくんじゃねぇ >>735
まともな回答を端的に示してくださいよ
あなたいつも他人にケチつけてるだけで
自分は何も書かずに安全圏から石投げてるヘタレじゃないですか
みんなそれわかってますよ、ちゃんとしてください イラつくアピールしても何も改善しないでしょうに
手本を示してそれが素晴らしいものならみんな真似すると思うんだよね
自分ならこう答えるっていうのをすれば良いのに
それをしないからフラストレーションを溜め込むことになるんだよ
でも結局できないだろうけどね
質問者が知りたい回答なんて質問者しか知らないから想像して書くしかない
他人に文句付けた以上、自分の想像が外れていたらどうしようもない
怖くて結局自分では回答できない
その循環に陥って最終的にイラつくアピールするしかない
自ら作った檻に閉じ込められているプライドが高い臆病なケモノ そんなこと言われても、あんまりこじらせるとまたGCでフリーズしちゃうよ 掲示板なんだからみんなであーでもないこーでもないとわいわいやったら良いじゃん
気軽に書き込めば良いじゃん、そしたらイラ立ちも減るんじゃないかな >>735
そもそもまともに質問してるやつがいるのか? 学校の宿題みたいなものなら簡単だが、そうでない質問は情報不足ばかりで答えようがない。 >>743
想像力を膨らませるんだよ
きっとこの人は子供のころにこういう風な体験をして
星空を見上げながらこうつぶやいたんじゃないだろうかと
そういうことを想像しながら質問者の立場に思いを馳せて息遣いを感じれば回答できるよ!
もしくは欲しい情報を聞くとか >>745
学生じゃないよ、学生かどうかは関係ないと思うけどね
そういうのってどういうの?
想像力を膨らませること?
欲しい情報を聞くこと?
情報不足だから教えて欲しい
と、まあこのように聞くことができるわけです >>747
ニートじゃないよ、ニートかどうかは関係ないと思うけどね 学生とかニートとかそういう社会的な立場を持ち出すのってどうなの?
しかも社会的には下に見られるようなものばかりじゃん
相手を貶める意図があるのかな? ん? どうなんだ?
自分が上だと思い込みたい卑しい思いがあるんだろ?
ちなみに俺は黒色のパンツを履いてる29歳の女医だ 書いてないこと、言ってないことを想像で決めるなんて実務ではありえない。 >>750
マジで? これよろしくやっといてよって仕事任されない? それは多分任されたのではなく丸投げと言う
右から左でスルーパスが彼のSIGOTOなんだろう ある程度想像で進めておいて詳細はあとで詰めるなんてことザラにあるよ
不明な点をすぐに確認しないと仕事進められないこともあるけどね
仕事っていうのは何でもあり、想像力も調整力も観察力もコミュ力も
使えるものは何でも使ってとにかく頑張るんやで >>752
パスして責任はきちんと取ってくれる上司がいるなら
仕事を任されてると言っていいのじゃないかな
俺にはそういう上司がいるし俺は本当に運が良くて恵まれてる
天が俺に幸せになれって言ってる 上司に恵まれないみなさん
自分が上司になったときは部下を幸せにするんやで ガチの5年無職 スキル無しが来てやったけど、
お前ら、震えてんの? >>726
Dog dog = new ShibaDog(); と書いた場合は dog が ShibaDog クラスのインスタンスを
指してはいるが dog は Dog クラスとしてしか扱えない。つまり Dog クラスで定義されていて
アクセス可能になっているメソッドや変数にしかアクセスできない。
このようにすると折角新たな機能を追加したのにそれが使えなくなるために損をしたかの
ように見えるかも知れない。しかし他の Dog クラスまたは Dog クラスを継承したクラスの
インスタンスでも同じ Dog クラスとして扱えるという利点がある。
すると例えば Dog クラスの配列やリストを作って ShibaDog やその他色々な Dog クラスを
継承したクラスのインスタンスを要素として代入して同列に扱う事が出来たり、Dog クラスの
インスタンスを引数とするメソッドを書けば Dog クラスのインスタンスだけでなく Dog クラスを
継承したクラスのインスタンス(今回の話の場合は ShibaDog のインスタンス) であっても
受け付けられる。 どうでもいい話でよく続けられるな
Dogを何に使うのか不明だが、おそらくこの場合はデータ構造としての犬だろうから
ShibaDogを作るよりenum BreedTypeを用意しShibaInuを追加した方が自然じゃないか 世界自体が究極的にはデータの羅列
クラスは人間が決めた枠組みだ
人間が柴犬は特別だとおもえばそれはクラスになるんだ
文句あるか Runnable の run() メソッドの中で計算した結果をメソッド終了後に取り出したいと
考えています。
インスタンス変数を用意して run() の終わりに保管し、getter メソッドで読むことは
できたのですが、他に簡単な方法はないでしょうか。 >>758
Dog型の配列やリスト構造でShibaDogを扱った場合に、ShibaDog固有のメソッドが必要になった場合はどうすれば良いのでしょうか?
諦めるしかないですか? >>764
CallableとかFutureを使う
同期化してないインスタンス変数を使って状態を共有するのは、バグの元だからやめた方がいいよ >>767
ありがとうございます!
Thread の join() のかわりに Future<V> の get() でいけました。 >>768
キャストすると出きるんですね。
ありがとうございます。 >>766
>Dog型の配列やリスト構造でShibaDogを扱った場合に、
>ShibaDog固有のメソッドが必要になった場合は、どうすれば良いのでしょうか?
>諦めるしかないですか?
オーバーロードは、オブジェクト指向の基本だろ
だから、こういう事をさせないために、親子クラスで、同名の関数を使っても、
各クラス独自の処理が呼ばれるようになっている
親クラス型の変数.f()
と書くと自動的に、インスタンスのクラスを判別して、各クラス独自の処理が呼ばれる
モンスター型の変数.攻撃()
と書けば、その怪物がドラゴンでもスライムでも、
各クラス内で書いたメソッドが呼ばれる
>>731 を読め
「スッキリわかる Java入門 第2版、2014」を読まないと、わかるのは無理 モンスター型の変数.攻撃()
と書けば、その怪物がドラゴンでもスライムでも、
各クラス内で書いたメソッドが呼ばれる
switch (モンスター型の変数){
case ドラゴン:
case スライム:
}
つまり、オブジェクト指向で書くと、型を判別していた、switch 文が消える。
ここに新たな怪物、ゾンビを加えても、switch 文を修正しなくてよい
逆に言えば、switch 文で型を判別していたら、オブジェクト指向ではない! > オーバーロードは、オブジェクト指向の基本だろ
そうなんですか。
非OOでもあり得るので、なんか本質的じゃない気もしますが。 つまり、オブジェクト指向で書くと、型を判別していた、switch 文が無くなる。
ここに新たな怪物、ゾンビを加えても、switch 文を修正しなくてよい
設定ファイルに、怪物を追加しても、ソースコードを修正しなくてよいから、
簡単にテストできる
設定ファイル側を、ノンプログラマーに任せることができるので、
プログラマーとノンプログラマーなど、開発人材の配分がしやすい >>771
>オーバーロードは、オブジェクト指向の基本だろ
間違い。
Overload ではなく、Override スッキリを読むとバカになるという見本ですね、わかります いくら初心者スレとはいえ、オーバーライドとオーバーロードを混同する人は
回答側でレスしないでもらいたい。typo だとしても。 スッキリ4冊を読むのに、4か月掛かった人がいるようだが、4冊で、100時間ぐらいだろ。
サラリーマンかな?
ニートなら、2週間ぐらいで読める。
サラリーマンは、ニートの1/8の能力しかない しかしニートの場合付けた能力を発揮する場所がない。
あー。でもこの頃はGoogle PlayとかあるからAndroid用アプリを作って有料販売すれば収益プラスになって仕事してるのと同じになる場合もあるかな。
その場合はニートではなくなってしまう。 サラリーマンで勉強している奴なんか、いない。
資格も、何十年も取らないし
勉強している奴は、ニートだけ
ただし、勉強はできるが、食えないw >>766
SibaDogに必ず依存してるなら抽象型Dogとして扱う必要はないSibaDog型でいい お前ら甘く見すぎ。
俺の所の35歳はスッキリjava入門を11か月で読んだ猛者だぞwwww
さらに、勉強として15万のPC購入させて、自分は風俗、テレクラで
靴が擦る減るからハロワ行かない!!(年に一回だけハロワ行くも門前払いwww)
週に2,3回ww 作業所で自給100円で働いてるから無職じゃないって発言する最強のチートコンボだ!!!
お前らが背伸びしたって、28からニート貫いてる!!!
俺らの[狂乱の大卒エリート35歳ちゃん]に
勝てる訳ねぇだろwwwww そいつ(>>789)はちょっと頭がかわいそうな奴なんだ。
大目に見てやって欲しい。 どんどん新しい技術や方法が出てくるから常に学んでいる状態でないと息切れしてくる
Javaはenumサイコーなんて言っていたのはすでに過去のことで今はラムダ教である オラクルのチュートリアルにC++の二倍速いと書いてあったのでJava始めました。 java.lang.Objectを継承すると何かいいことはありますか? IntelliJ>>>>>>>>>>Eclipse>その他 Oracleのチュートリアルやってると、C++を目の敵にしてるみたいだけど。
JavaのライバルはPythonじゃないのかなあ。 あれはミギー
一方的に寄生してきたのに結局共生関係にされてしまった ■ このスレッドは過去ログ倉庫に格納されています