オーバーライド時のアクセス権について – プログラミング – Home

オーバーライド時のアクセス権について
 
通知
すべてクリア

オーバーライド時のアクセス権について


ヒデサク
 ヒデサク
(@ヒデサク)
ゲスト
結合: 17年前
投稿: 1
Topic starter  

はじめまして。
クラスを継承しメソッドをオーバーライドした際の
アクセス権についての質問なのですが。

例)
class A{
public void methodA(){
}
}
class B extends A{
private void methodA(){ // オーバーライド
}
}

の様に親クラスのメソッドをオーバーライドする際、
なぜアクセス権を強くする方向にするとコンパイルエラーになるのでしょうか?
なにかその様にするとまずい理由があるのでしょうか。
それとも単なるJavaの仕様なのでしょうか。
どなたか教えて頂けないでしょうか。
宜しくお願いします。


引用解決済
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

例えば、

A a = new B();
a.methodA();

というコードを書かれたら、B.methodA が呼ばれてしまいますよね。
制限を強くしても無意味だからではないでしょうか。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました