问一个java访问修饰符的问题

sequanyining 2010-07-02 08:31:21
package com.se.fu;

public class A
{
protected void go()
{
System.out.println("gogogo~~~");
}
}

package com.se.zi;
import com.se.fu.A;

public class B extends A
{
public void test()
{
A a = new A();
a.go(); //这样访问合法吗?
}
}

网上一个教程说protected修饰的方法,其他包中的类只要继承了那个类,就可以访问它里面protected修饰的方法

,可我却试不出来,a打点 没有go()这个方法, 请问大家我这么写合法吗??
...全文
33 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lacus87 2010-07-02
  • 打赏
  • 举报
回复
你在不同包下,即时是子类,也是访问不了A类中的protect方法的
但是子类继承了该方法,也就是说你可以直接用this.go()调用
lostuser 2010-07-02
  • 打赏
  • 举报
回复
public void test()
{
A a = new A();
a.go(); //这样访问合法吗?
}

应该为

public void test()
{
go(); //直接使用即可。
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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