在Java中找不到符号是什么错误啊?
classExam{staticStringsubject;Exam(Strings1){System.out.println(s1+":subject");}}clas...
class Exam {
static String subject;
Exam(String s1)
{
System.out.println(s1+":subject");
}
}
class PracticeExam extends Exam {
static int time;
PracticeExam(String s2)
{
System.out.println(s2+":time");
}
}
public class JavaPracticeExam extends PracticeExam {
static int scores;
JavaPracticeExam(String s3)
{
System.out.println(s3+":scores");
}
public static void main(String[] args){
new JavaPracticeExam("13111426");
}
} 展开
static String subject;
Exam(String s1)
{
System.out.println(s1+":subject");
}
}
class PracticeExam extends Exam {
static int time;
PracticeExam(String s2)
{
System.out.println(s2+":time");
}
}
public class JavaPracticeExam extends PracticeExam {
static int scores;
JavaPracticeExam(String s3)
{
System.out.println(s3+":scores");
}
public static void main(String[] args){
new JavaPracticeExam("13111426");
}
} 展开
2个回答
展开全部
类PracticeExam 继承类Exam ,在创建类PracticeExam的实例时后先创建类Exam的实例;若果没有显式调用父类构造方法这默认调用无参的构造方法,你写的类Exam没有无参的构造方法,所以报错了!类JavaPracticeExam 也是同样的错误!
两种修改方法:
1、显式调用父类的构造方法;
2、给父类加上无参的构造方法;
class Exam {
static String subject;
Exam() //给父类加上无参的构造方法;
{
System.out.println(":subject");
}
Exam(String s1)
{
System.out.println(s1+":subject");
}
}
class PracticeExam extends Exam {
static int time;
PracticeExam(String s2)
{
System.out.println(s2+":time");
}
}
public class JavaPracticeExam extends PracticeExam {
static int scores;
JavaPracticeExam(String s3)
{
super(s3);//显式调用父类的构造方法;
System.out.println(s3+":scores");
}
public static void main(String[] args){
new JavaPracticeExam("13111426");
}
}
追问
灰常感谢你了!
展开全部
class PracticeExam extends Exam {
static int time;
PracticeExam(String s2)
{
super(s2);//多加了 先访问父类的构造函数,这样应该就没问题了
System.out.println(s2+":time");
}
再或者
class Exam {
static String subject;
Exam(String s1)
{
System.out.println(s1+":subject");
}
Exam(); //这样也行,反正就是Exam默认的构造函数被你自己定义的有参覆盖了,子类没法自动访问这个无参的构造函数了~~ 二者任选其一吧!
}
你好几个地方都犯了以上错误,
public class JavaPracticeExam extends PracticeExam {
JavaPracticeExam(String s3)
{
super(s3);//这里也加上
System.out.println(s3+":scores");
}
public static void main(String[] args) {
new JavaPracticeExam("13111426");
}
}
static int time;
PracticeExam(String s2)
{
super(s2);//多加了 先访问父类的构造函数,这样应该就没问题了
System.out.println(s2+":time");
}
再或者
class Exam {
static String subject;
Exam(String s1)
{
System.out.println(s1+":subject");
}
Exam(); //这样也行,反正就是Exam默认的构造函数被你自己定义的有参覆盖了,子类没法自动访问这个无参的构造函数了~~ 二者任选其一吧!
}
你好几个地方都犯了以上错误,
public class JavaPracticeExam extends PracticeExam {
JavaPracticeExam(String s3)
{
super(s3);//这里也加上
System.out.println(s3+":scores");
}
public static void main(String[] args) {
new JavaPracticeExam("13111426");
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询