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ランキング
-
c# デリゲート関連の命名について
-
SAStrutsでActionからJSPに値を...
-
リサージュ図形
-
Javaでポインタ的なことはでき...
-
コード中の謎のエラー
-
javaのエラーの意味がわかりま...
-
デスクトップのアイコンの位置...
-
Javaで簡単なアニメーションを...
-
西暦 -> 年号、年号 -> 西暦の...
-
熟語を判別し構文解析してくれ...
-
式の型は配列型で int に解決済...
-
Start:アプレットは初期化され...
-
因数分解メソッドの改良
-
配列にnullを代入すると、null...
-
C#で動的配列Listの中身をListB...
-
C言語のポインターに関する警告
-
Javaで改行などが出来ないのです。
-
配列を逆順させて表示させる方...
-
応用情報技術者試験の令和元年...
-
getStringの値がNULLの時の処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
式の型は配列型で int に解決済...
-
「配列定数は、イニシャライザ...
-
javaでcsvファイル読込時の改行...
-
java spring でエラーが出て困...
-
javaでカレンダー作成
-
Javaで電卓を作りたい
-
SwingでJtableのヘッダ行が表示...
-
JAVA エラー 式の開始が不正で...
-
JAVAでCの関数ポインタのような...
-
C#で実行時にメソッドの返り値...
-
(Swing)JTextFieldを半角のみ入...
-
c# デリゲート関連の命名について
-
Javaでポインタ的なことはでき...
-
複数のボタンを配置し、それぞ...
-
javaのエラーの意味がわかりま...
-
JUnit4のアノテーションについて
-
sin曲線とcos曲線を描くプログ...
-
intが負の時に投げる例外はあり...
-
Java 初心者 int型の取り扱い方
-
C++からC#のdllを参照する際、...
おすすめ情報