在我的主代码中尝试创建子类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();
//
}
}
答案 0 :(得分:2)
此代码存在多个问题:
h
是inhtt
的内部类。由于它不是静态的,因此您需要使用类似base.new h(1,1,1,1);
的内容来实例化它。
您需要声明一个变量以将新的h
实例分配给。尝试使用类似inhtt.h h = base.new h(1,1,1,1);
的内容。
h
(该类)没有名为shownew
的方法。它有一个名为shownewa
。
runraffharsh
和inhtt
都是公共类。它们需要位于不同的文件中。
runraffharsh
顶部的评论栏未正确打开。
答案 1 :(得分:0)
继承类h的引用存在问题。你定义了showewa()但是试图访问shownew()