晚上在自习室里阅读张孝祥的就业培训教程,调试书中关于继承的一个案例如下:
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语句。
注意:如果子类构造方法中没有显式地调用父类构造方法,而父类中又没有无参数的构造方法(如果父类没有显示地定义任何构造方法,系统将自动提供一个默认的没有参数的构造方法,这还是等于父类中有无参数的构造方法的),则编译出错。所以,只要定义了有参数的构造方法,通常都还需要定义一个无参数的构造方法。
分享到:
相关推荐
`Student` 类继承自 `UniversityObject`,并实现了 `getSummary()` 函数。该函数返回学生的注册号和姓名组成的字符串。构造函数接受两个字符串参数,分别用于初始化 `name` 和 `register_str` 成员变量。通过这种...
"Qt5类继承关系图"是一个重要的参考资料,它直观地展示了Qt5库中各个类之间的关系,有助于开发者理解和使用Qt5的各种组件。 这个PDF文档很可能包含了Qt5的主要模块,如Qt Widgets、Qt GUI、Qt Network、Qt Database...
QT类继承图是Qt框架中的一个重要组成部分,它展示了Qt库中各类之间的层次结构,帮助开发者...而对于经验丰富的开发者,类继承图则可以帮助他们在遇到问题时迅速找到解决方案,或者在设计新功能时选择合适的类作为起点。
标题“PyQt5类继承图”指向了这一主题,它旨在揭示PyQt5框架下各类之间的层次结构。 首先,`Qt5类继承图.pdf`文件很可能是该主题的核心,它可能包含了一个详细的图表,显示了PyQt5中的所有主要类是如何从Qt库的基础...
类继承的方法,关于类的写法,类的继承方式.
### 第一个代码示例:基本的类继承 这个示例展示了如何在C++中创建一个基类(`base`)和一个派生类(`subs`)。`base`类有一个构造函数和析构函数,分别在对象创建和销毁时打印消息。`subs`类继承自`base`类,并...
这展示了公有继承的概念,即派生类继承了基类的所有公有和保护成员。 `CStudent` 类使用了虚拟继承 `public virtual CPeople`,这是一个特殊的继承方式,它可以防止多继承时可能出现的二义性问题。如果一个派生类...
- 这里,`Child`类继承了`Parent`类的所有非私有(public和protected)成员。 2. **单一继承** - Java遵循单一继承原则,即一个子类只能有一个直接父类,但可以间接继承多个父类(通过多层继承)。 - 多层继承的...
在VC++编程环境中,类继承是面向对象编程的一个核心概念,它允许我们创建新的类,这些新类可以扩展或修改已存在的类的功能。这个过程被称为派生,派生类(子类)从基类(父类)继承特性,从而实现代码的重用和功能的...
然而,在实际开发过程中,开发者可能会遇到一些关于类继承的小问题,本文将围绕这些小问题进行深入探讨,并给出相应的解决方案。 #### 问题一:构造函数调用问题 在Java中,如果子类没有显式地调用父类的构造器,...
这个实例是关于如何在超市购物场景下应用继承机制的。在这个系统中,我们有以下几个关键类:`ShoppingCar`(购物车)、`Database`(数据库)、`McBean`(可能代表某种商品或服务)、`TestShoppingCar`(测试类)以及...
本文将深入探讨类继承的实现、作用以及相关的Java特性。 1. 类继承的实现和作用: 类继承通过使用关键字`extends`来实现。例如,`class ChildClass extends ParentClass`表明ChildClass是ParentClass的子类。继承...
标题中提到的"C++类的继承性说明"主要探讨了多重继承的概念,这是一种允许派生类继承多个基类的特性。在实际编程中,多重继承可以用来模拟现实世界中的复杂关系,例如在例子中,交通工具类可以作为基类,汽车和船...
定义两个类Dog,SmallDog,SmallDog继承Dog 说明一:关于Dog 两个属性,狗的名字(dogName,String),狗的年龄(dogAge,int) 一个方法,dogWalk(),打印一句话简单描述狗走路的样子 一个构造方法,无参数,在此构造方法...
AS3(ActionScript 3)是Adobe开发的...此外,了解类继承树有助于进行问题排查,因为可以迅速定位到可能导致问题的类或方法。总之,AS3类继承树和中文API是开发者不可或缺的工具,对于AS3的学习和实践具有极大的价值。
c++类继承关系 Hierarchy Chart 继承关系 基类CObject派生出的各类,MSDN中用
除了基本的类和继承概念,我们还需要了解一些相关的关键点: 1. **访问修饰符**:在Java等语言中,有public、private、protected等访问修饰符,用于控制类的成员在不同范围内的可见性。这对于封装和保护数据至关...
"C++类继承内存布局详解图" C++类继承内存布局是一种复杂的机制,涉及到类的继承、成员变量的访问、成员函数的访问、虚函数调用、强制转换到基类或虚基类等多个方面。在本文中,我们将从C结构的布局开始,逐步介绍...
Java内部类继承问题的分析主要关注的是在Java编程中,当内部类(也称为嵌套类)参与继承时所面临的挑战和潜在问题。Java语言采用了单一继承机制,即一个类只能从一个父类继承,这有助于提高代码的可读性和可维护性。...
qt43-类继承关系图.pdf qt43-类继承关系图.pdf qt43-类继承关系图.pdf qt43-类继承关系图.pdf