JAVA继承为什么要先创建父类对象再创建子类对象
publicclassJavaTeacher{Stringschool;Stringname;publicJavaTeacher(Stringschool,Stringn...
public class JavaTeacher {
String school;
String name;
public JavaTeacher(String school, String name) {
super();
this.school = school;
this.name = name;
}
public void introduction()
{
System.out.println("大家好!我是"+school+"的"+name);
}
public void giveLession()
{
System.out.println("知识点讲解");
System.out.println("总结提问");
}
}
public class JavaDBTeacher extends JavaTeacher {
public JavaDBTeacher(String school, String name) {
super(school, name);
// TODO Auto-generated constructor stub
}
public void giveLession() {
System.out.println("打开Oracle");
super.giveLession();
}
}
上面例子中JavaDBTeacher 为什么不调用super(school, name);会报错,我在主函数中并没有先创造交类中对象再创建子类中的对象啊,怎么又没报错?是不是在调用父类构造函数时系统会自动创建一个父类的对象? 请求高手指点,不用感激!!!! 展开
String school;
String name;
public JavaTeacher(String school, String name) {
super();
this.school = school;
this.name = name;
}
public void introduction()
{
System.out.println("大家好!我是"+school+"的"+name);
}
public void giveLession()
{
System.out.println("知识点讲解");
System.out.println("总结提问");
}
}
public class JavaDBTeacher extends JavaTeacher {
public JavaDBTeacher(String school, String name) {
super(school, name);
// TODO Auto-generated constructor stub
}
public void giveLession() {
System.out.println("打开Oracle");
super.giveLession();
}
}
上面例子中JavaDBTeacher 为什么不调用super(school, name);会报错,我在主函数中并没有先创造交类中对象再创建子类中的对象啊,怎么又没报错?是不是在调用父类构造函数时系统会自动创建一个父类的对象? 请求高手指点,不用感激!!!! 展开
7个回答
展开全部
ClassLoader机制决定!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用秋韵盎然暗香的回答:
父类是子类的补充,如果子类要创建对象就要对子类初始化,子类不是继承了父类吗?如果只初始化子类,你觉得子类初始化所有的东西了吗?
所以父类要先初始化,再给子类初始化,这样子类就初始化完全了,才能给子类创建对象。。。。
父类是子类的补充,如果子类要创建对象就要对子类初始化,子类不是继承了父类吗?如果只初始化子类,你觉得子类初始化所有的东西了吗?
所以父类要先初始化,再给子类初始化,这样子类就初始化完全了,才能给子类创建对象。。。。
展开全部
子类是父类的补充吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询