質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

458閲覧

Javaの基本的な構文について

Gyugyu

総合スコア1

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2022/01/21 12:49

テキストからの抜粋なのですが、2点質問させてください。

質問1。
以下ののコードの [Account r = (Account)o;] の構文はどうなっているのでしょうか?
左辺Accountクラス型の変数rまでは理解できますが、右辺はどういう仕組で()が使われているのかと、[(Account)o]でなにが代入されているのかがわかりません。

質問2。
[public boolean equals(Object o)]この部分ですが、equals()をオーバーライドするときはbooleanとObjectクラスを引数にするのが定番な構文なのでしょうか?
booleanは戻り値が真偽だからという理解でよろしいでしょうか?

Java

1public class Account { 2 String accountNo; // 口座番号(先頭に空白が入ることもある) 3 4 public boolean equals(Object o) { 5 if (o == this) return true; 6 if (o == null) return false; 7 if(!(o instanceof Account)) return false; 8 Account r = (Account)o; 9 if (!this.accountNo.trim().equals(r.accountNo.trim())) { 10 return false; 11 } 12 return true; 13 } 14}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takasima20

2022/01/21 13:14

キャストしてんじゃないの? JAVAはよく分かりませんが
m.ts10806

2022/01/22 02:46

その「テキスト」に何も解説がないとは思えませんが、どうなのでしょうか。 特にObjectからのキャスト。
guest

回答2

0

ベストアンサー

右辺はどういう仕組で()が使われているのかと

キャスト演算子です。

equals()をオーバーライドするときはbooleanとObjectクラスを引数にするのが定番な構文なのでしょうか?

元のObject.equalsがこの引数と返り値なので、オーバーライドするにはそれに従うしかありません(引数を変えればオーバーロードになってしまいますし、返り値だけ違うメソッドを複数作ることはできません)。

投稿2022/01/21 13:18

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Gyugyu

2022/01/22 04:03

キャスト演算子だったんですね、もう少し調べてみます。ありがとうございました。 オーバーライドについても、知識が深まりました。 皆様ありがとうございました!
guest

0

オーバーライドってのは親クラスのメソッドを置き換えることを指します
置き換えるためには、当然のことながら同一の仕様(同じ名前で同じ戻り値で同じ引数)のメソッドにする必要があります

投稿2022/01/21 22:32

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問