Abh*_*hvi 0 java inheritance constructor
请问任何人都可以告诉我以下代码中的错误是什么?
问题是
创建一个有的人
- 变量'name',用于存储人员的姓名.
- 一个构造函数,它接受一个用于初始化name变量的参数
- 一个方法getName(),显示名称.
- 受保护的方法setName(),它接受一个用于修改name变量的参数.
创建一个名为student的上述类的子类,其中包含
- 用于存储学生PRN的变量
- 用于存储学生所属课程的变量
- 一种方法,显示学生的所有细节,即名称,名称和课程.
计划:
class Person
{
String name;
Person(String s)
{
name=s;
}
void getName()
{
System.out.println("Name is "+name);
}
void setName(String sa)
{
name=sa;
}
}
class subPerson extends Person
{
//String sa;
int Prn;
String course;
subPerson(String s,int P,String co)
{
name=s;
Prn=P;
course=co;
}
void displayal()
{
System.out.println("Name is ");
System.out.println("PRN is "+Prn);
System.out.println("course is "+course);
}
}
class Inher
{
public static void main(String args[])
{
int area,volumea;
subPerson h1 = new subPerson("Abhishek",20,"MBA");
h1.displayal();
}
}
Run Code Online (Sandbox Code Playgroud)
Person的构造函数接受一个String.由于subPerson扩展了Person,它的构造函数将调用Person的构造函数.默认情况下,它将使用no-arg构造函数,但由于Person没有,所以它不起作用.
尝试将subPerson的构造函数更改为:
subPerson(String s,int P,String co)
{
super(s);
Prn=P;
course=co;
}
Run Code Online (Sandbox Code Playgroud)