不同包里面的子类继承了父类却访问不了protected权限的问题

baidu_16958925 2014-06-27 09:02:49
父类:
package father;

public class Person{
protected void introduce(){
System.out.println("父类中的introduce函数,拥有protected权限");
}
}

子类:
package son;
import father.Person;

class Student extends Person{
public static void main(String args []){
Person p = new Person();
p.introduce();
}
}


运行后报错:
Student.java:7: 错误: introduce()可以在Person中访问protected
p.introduce();
1个错误


问题:
为什么不同包里面的子类继承了父类,却访问不了父类中protected权限的函数?
...全文
1033 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_16958925 2014-06-27
  • 打赏
  • 举报
回复
引用 4 楼 oh_Maxy 的回复:
改成这样: package son; import father.Person; class Student extends Person{ public void myIntroduce(){ introduce();// 这里才是“子类访问父类的protected方法” } public static void main(String args []){ Person p = new Person(); p.myIntroduce(); } }
因为你的代码,使我看明白了前两楼写的文字,太感谢你了! 经过重写代码,现在可以用了!!
baidu_16958925 2014-06-27
  • 打赏
  • 举报
回复
引用 3 楼 u011201384 的回复:
http://blog.csdn.net/peisl/article/details/6343386 可能我说的有点问题,protected 修饰作用域是指 1 同一个包中的类 2 子类
谢谢!
baidu_16958925 2014-06-27
  • 打赏
  • 举报
回复 1
引用 2 楼 u011201384 的回复:
我感觉你是把两个问题搞混了,protected修饰,是指子类可以继承,重写,访问 ,是相当于在子类定义了该方法。 而你是实例化父类,用父类访问,是属于方法修饰符的 作用域问题。 不知你懂了没
明白啦,谢谢!
qq_16963329 2014-06-27
  • 打赏
  • 举报
回复 1
class Student extends Person{ public static void main(String args []){ Student s = new Student(); s.introduce(); } }
oh_Maxy 2014-06-27
  • 打赏
  • 举报
回复
改成这样: package son; import father.Person; class Student extends Person{ public void myIntroduce(){ introduce();// 这里才是“子类访问父类的protected方法” } public static void main(String args []){ Person p = new Person(); p.myIntroduce(); } }
yueyuexiong 2014-06-27
  • 打赏
  • 举报
回复
http://blog.csdn.net/peisl/article/details/6343386 可能我说的有点问题,protected 修饰作用域是指 1 同一个包中的类 2 子类
yueyuexiong 2014-06-27
  • 打赏
  • 举报
回复
我感觉你是把两个问题搞混了,protected修饰,是指子类可以继承,重写,访问 ,是相当于在子类定义了该方法。 而你是实例化父类,用父类访问,是属于方法修饰符的 作用域问题。 不知你懂了没
  • 打赏
  • 举报
回复
这个确实没有遇到过,可能protected 只局限自己包内引用。。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧