欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于类的继承的一些问题

程序员文章站 2022-04-28 23:01:25
...
关于类的继承的一些问题
            
    
    博客分类: JavaSE JAVA SE 
晚上在自习室里阅读张孝祥的就业培训教程,调试书中关于继承的一个案例如下:

class Person
{
public String name;
public int age;
public Person(String name,int age)//构造1
{
this.name = name;
this.age = age;
}
/* public Person()
{
//父类的构造方法2
}
*/

public void getInfo()
{
System.out.println(name);
System.out.println(age);
}

}

class Student extends Person
{
public Student(String name,int age)
{
super(name,age);//用super语句调用父类指定的构造方法。
}
public void study()
{
System.out.println("studding");
}

public static void main(String [] args)
{
Person person = new Person("王珊珊",24);//既然是要用构造函数初始化,那就在这里把要传的参数传过去好了。

/*person.name = "王珊珊";//构造方法是用作对象初始化的。那么new一个新对象的时候,这样传递参数应该不行。
person.age = 24;*/
person.getInfo();

Student student = new Student("徐花",23);
/* student.name = "徐花";
student.age = 23;*/
student.getInfo();
student.study();
}
}

最终通过网上查资料调试通过了。对于类的继承总结如下:
1.Java不允许多重继承,只能单继承。一个子类只能有一个父类,一个类可以被多个子类继承。“一父多子”,不可“多父一子”。
2.Java可以有多层继承,一个类可以继承某个类的子类。B类是A类的子类,而C类又是B类的子类,那么C类也是A类的间接子类。
3.子类继承父类所有的成员变量和成员方法,但不继承父类的构造方法。处理这个情况可有两种方法:a.父类中只有自定义的构造方法时,在子类的构造方法中需用super语句手动的调用父类中的构造方法;b.在父类中激活其默认的构造方法(可与自定义的构造方法重载),系统可以默认调用父类无参数的构造方法,不必使用super语句。
注意:如果子类构造方法中没有显式地调用父类构造方法,而父类中又没有无参数的构造方法(如果父类没有显示地定义任何构造方法,系统将自动提供一个默认的没有参数的构造方法,这还是等于父类中有无参数的构造方法的),则编译出错。所以,只要定义了有参数的构造方法,通常都还需要定义一个无参数的构造方法。
相关标签: JAVA SE