package bao;
public class test1
{
public void pub()
{
System.out.println("pub");
}
void defaul()
{
System.out.println("default");
}
protected void pro()
{
System.out.println("protect");
}
private void pri()
{
System.out.println("private");以上是bao里的JAVA程序package bao1;
import bao.test1;
class test2 extends test1
{
public static void main(String args[])
{
test1 t1=new test1();
t1.pub();
//t1.defaul();
  t1.pro();

  }
}
以上是bao1里的程序为什么在运行的时候会报错:pro()可以在bao.test1中访问protected t1.pro();哪位大虾能告诉我?

解决方案 »

  1.   

    protected 的属性和方法可以在本包和子类访问
    非同包的子类里面,不能直接使用父类,或者其它包的子类访问
    你可以在程序中加入test2(){
    super.pro();
    }应该可以访问
      

  2.   

    private只能在本类中使用
    default能在本类和本包中使用
    project能在本类、本包、和子类中使用
    public能在本类、本包、子类、和其它包中引用。