为什么我的程序没用?继续找不到符号错误?

时间:2015-01-06 03:11:34

标签: java inheritance

在我的主代码中尝试创建子类h对象时,我一直找不到符号错误。请有人能帮忙吗?感谢。

似乎主程序正在接受inhtt对象,但是当我尝试调用h对象时,它说它无法找到符号并要求我创建h对象。

public class inhtt {
   //class methods
  public  int thing; 
    public int stuff ;
    public int otherstuff;

  // constructor based on parameters
 public inhtt( int x, int y, int z){
        thing = x;
        stuff = y;
        otherstuff = z;
    }    
 void showmain (){
    System.out.println("thing is " + thing);
    System.out.println("stuff is " + stuff);
    System.out.println("otherstuff is " + otherstuff);
}

public class h extends inhtt {
  int beard; 
  h( int x, int y, int z, int a){
      super(x,y,z);
        beard = a;
  }
  void shownewa(){
    System.out.println("beard is" +beard);  
 }
}
}



 * @author New User
 */
public class runraffharsh {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
     inhtt base = new inhtt(1,1,1);
     base.showmain();

     h = new h(1,1,1,1);
     h.shownew();

//      raff beard = new raff(1,1,1,1);
//     beard.showbeard();
//     

    }

}

2 个答案:

答案 0 :(得分:2)

此代码存在多个问题:

  1. hinhtt的内部类。由于它不是静态的,因此您需要使用类似base.new h(1,1,1,1);的内容来实例化它。

  2. 您需要声明一个变量以将新的h实例分配给。尝试使用类似inhtt.h h = base.new h(1,1,1,1);的内容。

  3. h(该类)没有名为shownew的方法。它有一个名为shownewa

  4. 的方法
  5. runraffharshinhtt都是公共类。它们需要位于不同的文件中。

  6. runraffharsh顶部的评论栏未正确打开。

答案 1 :(得分:0)

继承类h的引用存在问题。你定义了showewa()但是试图访问shownew()