public class MainFrame {
public static void main(String[] args) {
student st=new student(21);
System.out.println("age:"+st.getAge());
}
}
public class person(){
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
System.out.println("person 无参构造器") ;
}
public class student extends person{
public static student(int ag)
{
System.out.println("student构造器创建");
this.setAge(ag);
}
}
public class Person{
private int age;
public Person() {
System.out.println("person 无参构造器") ;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
该回答引用ChatGPT
下面是修复后的代码:
public class MainFrame {
public static void main(String[] args) {
student st = new student(21);
System.out.println("age:" + st.getAge());
}
}
public class person {
private int age;
public person() {
System.out.println("person 无参构造器");
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class student extends person {
public student(int ag) {
System.out.println("student构造器创建");
this.setAge(ag);
}
}
你19行输出语句不在任何函数中啊
public class person后面的括号删除,这里是类定义,不是函数定义
1.class person()去掉括号
2.System.out.println("person 无参构造器") ;代码写到了函数外面
3.public类型的类需要放到以各自命名的文件里去定义,不能都放同一个文件里
放同一个文件里,那么把public删掉,public类型的构造函数也要把public删掉,static也要删掉
有一些语法错误
person 类的构造方法定义不正确,应该使用大括号 {} 来定义方法体
public person() {
System.out.println("person 无参构造器");
}
public student(int ag) {
System.out.println("student构造器创建");
this.setAge(ag);
}