あるクラス(Hoge)で定義されているpublicメソッドを、子クラス(ChildHoge)では使えないようにするにはどうすれば良いでしょうか?使えないように、とは、正確に言うと「内部からは使えるが外部からは見えないし使えない」ということです。
Java
1public class Hoge { 2 public void hogeMethod() {} 3} 4 5-------------------------------------------------------------------------- 6 7public class ChildHoge extends Hoge { 8 private privateMethod() { 9 this.hogeMethod(); // OK! 10 } 11} 12 13-------------------------------------------------------------------------- 14 15public static void main(String[] args) { 16 Hoge hoge = new Hoge(); 17 ChildHoge childHoge = new ChildHoge(); 18 19 hoge.hogeMethod(); // OK! 20 childHoge.hogeMethod(); // Error! 21}
C++で下のようにした時のChildHoge.hogeMethod()と同じような振る舞いをJavaで実現させたいです。
C++
1class Hoge { 2 public: 3 virtual void hogeMehod() {} 4}; 5 6class ChildHoge : public Hoge { 7 private: 8 void hogeMethod() {} 9};
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。