javaのオーバーライドについての質問
javaの練習問題について質問です。
継承のオーバーライドです。
class A{
protected int b(int a){ return 0;}
}
class B extends A{
//ここに入れる事ができるコードを選択肢から5個選ぶ問題
}
選択肢
1.public int b(int a) { return 0;}
2.private int b(int a) { return 0;}
3.private int b(long a) { return 0;}
4.protected long b(int a) { return 0;}
5.protected int b(long a) { return 0;}
6.protected long b(long a) { return 0;}
7.protected long b(int a,int b) { return 0;}
答えは1.3.5.6.7なのですが、3から引数の数や戻り値の型が異なり暗黙の型変換かと考えましたがlongからintは許可されていないので、どういう仕組みでコンパイルが通っているのか教えて頂きたいです。
また、アクセス修飾子や引数がオーバーライドの規定に反しているにもかかわらず正になっているのかわからないです。
当方初心者のため分かりやすく説明いただけますと幸いです。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
オーバーライドの条件としては、戻り値・引数の型およびメソッド名が同じ必要があります。
これを満たしていない場合、オーバーロードとなる可能性があります。
1. これはオーバーライドしています〇
2. オーバーライドする際に、アクセスレベルを親クラスのものより厳しくすることはできません×
3. 引数の型が異なっているため、オーバーロードですね。コンパイルは通るので〇
4. 親メソッドと引数の型やメソッド名が同じなのに、戻り値の型が異なるため、コンパイルエラーになります×
5. 引数の型が異なっているため、オーバーロードですね。コンパイルは通るので〇
6. 引数の型が異なっているため、オーバーロードですね。コンパイルは通るので〇
7. 引数の数が異なっているため、オーバーロードですね。コンパイルは通るので〇
ですので、ちゃんとオーバーライドしているのは1番だけで、他のは新たにメソッドを作っていることになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# プログラミングのペーパーテスト 実行結果の表示を答えてください #include <stdio.h> 2 2022/07/09 16:14
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# 変数のスコープ 5 2023/05/27 17:50
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
式の型は配列型で int に解決済...
-
Javaで素数の表を表示させたい...
-
偶数奇数の判定
-
ある年月の月間日数を取得する...
-
Java3Dで円錐台を描く方法を教...
-
コード中の謎のエラー
-
6桁の数字を重複なしでランダム...
-
分を表す数字(int型)を時間形...
-
Javaのファイル名チェックについて
-
コンストラクタ内で別のコンス...
-
javaの課題・・
-
java spring でエラーが出て困...
-
「配列定数は、イニシャライザ...
-
C#で、デリゲートからその関数...
-
行の途中から読み込む方法
-
iアプリでバイナリデータを16進...
-
C#で「型または名前空間名 'int...
-
java初心者の質問(3つの整数の...
-
javaでcsvファイル読込時の改行...
-
javaでカレンダー作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
式の型は配列型で int に解決済...
-
「配列定数は、イニシャライザ...
-
javaでcsvファイル読込時の改行...
-
java spring でエラーが出て困...
-
javaでカレンダー作成
-
Javaで電卓を作りたい
-
SwingでJtableのヘッダ行が表示...
-
JAVA エラー 式の開始が不正で...
-
JAVAでCの関数ポインタのような...
-
C#で実行時にメソッドの返り値...
-
(Swing)JTextFieldを半角のみ入...
-
c# デリゲート関連の命名について
-
Javaでポインタ的なことはでき...
-
複数のボタンを配置し、それぞ...
-
JUnit4のアノテーションについて
-
javaのエラーの意味がわかりま...
-
intが負の時に投げる例外はあり...
-
sin曲線とcos曲線を描くプログ...
-
C++からC#のdllを参照する際、...
-
Java 初心者 int型の取り扱い方
おすすめ情報