子类属性错误

时间:2012-11-10 17:26:31

标签: java inheritance

我有一个具有受保护属性高度的子(扩展)类。 我想在主程序中访问它:

   while(line != null)
     {
        String[] field = line.split("#");
        int height = Integer.parseInt(field[0]);

        if (field.length ==1)
        {
           forest[cnt] = new Trees(height);
        }
        else
        {
           forest[cnt] = new Shrub(height, field[1]);

        }

        cnt++;
        line = inS.readLine();

     }
     inS.close();

     String s = JOptionPane.showInputDialog("Enter Name to search for");

     for(int i = 0; i<forest.length; i++)
     {

        if (forest[i] instanceof Shrub)
        {
           String a = forest[i].getName();      
           System.out.println ("Found");
        }
     }
  }

但是我得到一个错误,说它找不到方法getName,但是当我运行lol Shrub它工作正常吗?

感谢。

1 个答案:

答案 0 :(得分:0)

在子类中无法访问私有访问修饰符方法。将它们公之于众或受保护。