`

类继承中的细节

 
阅读更多
package cn.extend;

/**
 * 
 * Porject Name:base
 * File Name:Persion.java
 * Description:
 * Author:zhangjl
 * Date:2014-1-5
 * Copyright (c) 2014,web_bckf@126.com All Rights Reserved.
 */
public class Persion {
	private int id;
	private String username;
	private String password;
	public Persion(int id, String username, String password) {
		this.id = id;
		this.username = username;
		this.password = password;
	}
	
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Persion() {
		// TODO Auto-generated constructor stub
	}
	
	public void say(){
		System.out.println("The Persion speak");
	}
	
	
	
}

package cn.extend;
/**
 * 
 * Porject Name:base
 * File Name:Student.java
 * Description:
 * Author:zhangjl
 * Date:2014-1-5
 * Copyright (c) 2014,web_bckf@126.com All Rights Reserved.
 */
public class Student extends Persion{
	public String grade;
	public Student(String userName,String password ){
		super();
		//this();
	}
	

	public Student() {
	}


	public void say(){
		System.out.println("The Student speak");
	}
	public static void main(String[] args){
		Student student=new Student("admin","admin");
		student.say();
		
	}
}

 注意一下几个问题:

1、如果子类的构造方法中没有使用super关键字来调运父类的构造方法,那么子类默认调运了父类无参数的构造方法。
2、如果子类没有使用super调运父类的构造方法,父类也没有无参数的构造方法。那么子类会报错。
3、子类构造方法中不能同时出现this/super
4、子类不能抛出比父类更多的异常或者就干脆不抛异常。
5、如果子类覆盖了父类的方法,那么子类可以用super来调运父类被隐藏的方法。

分享到:
评论

相关推荐

    Qt5类继承关系图_qt5类继承关系图_QT5_

    文件名称"Qt5类继承关系图.pdf"暗示了文档的格式,即一个PDF文件,这种格式通常便于阅读和打印,支持放大缩小功能,使开发者能够在需要时查看细节或整体结构。 总的来说,"Qt5类继承关系图"是学习和开发Qt5应用的...

    类继承与对象复制的细节.zip_类继承与对象复制的细节

    类继承中的细节包括: 1. **多态性**:子类可以具有与父类不同的行为,这就是多态性。通过父类引用子类对象,可以调用父类的方法,但如果子类重写了这个方法,实际执行的是子类的方法。 2. **方法重写**:子类可以...

    类继承的访问控制

    在编程语言中,类继承是面向对象编程的一个关键特性,它允许我们创建一个新类(子类或派生类)来扩展或修改已存在的类(父类或基类)。在这个过程中,访问控制扮演着重要的角色,它决定了一个类的成员(如变量和函数...

    Qt类继承关系图

    首先,`Qt5类继承关系图`展示了Qt5框架中的类层次结构。Qt5相较于Qt4引入了许多新特性,如QML(Qt Meta Object Language)用于声明式UI设计,Qt Quick用于快速开发动态和响应式的用户界面,以及对现代C++11特性的...

    4类的继承与派生继承与派生

    - **私有继承(private)**:基类的公共成员和保护成员在派生类中变为私有成员,这通常用于隐藏实现细节。 - **保护继承(protected)**:基类的公共成员变为保护成员,而保护成员保持不变,这适用于需要在子类中使用但...

    C++不能继承的类

    在C++编程语言中,有时候我们可能需要创建一个类,使其不能被其他类继承,以保护类的结构和防止不合理的扩展。标题所提到的"不能继承的类",其目的是为了实现一种类的封闭性,确保其设计的意图不被误用。描述中提到...

    Qt5类继承关系图

    ### Qt5类继承关系概述 在Qt5框架中,类之间的继承关系构成了其核心架构的基础。通过对这些类的深入理解,开发者能够更好地掌握Qt库的功能并有效地利用它们来构建复杂的应用程序。本篇将详细解析从给定文件的标题、...

    MFC类的继承一览表

    MFC(Microsoft Foundation Class Library)是微软开发的一个C++类库,它为Windows应用程序开发提供了一种面向对象的框架。这个框架基于微软的Win32 API...学习和掌握MFC的类继承关系,是深入理解和使用MFC的关键步骤。

    类继承的初始化顺序类,继承的初始化顺序

    本篇文章将围绕“类继承的初始化顺序”这一主题展开,详细解析初始化过程中涉及的关键概念和技术细节。 ### 类继承的初始化顺序概述 在面向对象语言中(如Java、C#等),当创建一个继承自某个基类的子类对象时,会...

    Qt5类继承关系图(增加了书签放大效果)

    根据提供的文件信息,我们可以梳理出以下知识点,主要围绕Qt框架以及其在C++中的类继承关系、模块划分、以及相关的技术概念。 首先,我们注意到文档提到了“Qt5类继承关系图”,这暗示了文档中可能包含Qt 5版本中...

    实现C++类的多重继承

    本篇文章将详细探讨C++中的多重继承及其相关的实现细节。 首先,我们要理解C++中的继承概念。继承是面向对象编程的核心特征之一,它允许创建一个新类(派生类)作为现有类(基类)的扩展。派生类可以访问基类的公有...

    关于类与继承和相关基础东西总结

    以上只是类和继承基础知识的一部分,实际编程中还有许多细节和高级用法。在实际工作中,理解和熟练运用这些概念可以帮助我们构建出更加灵活、可维护和易于扩展的代码。通过阅读如《Thinking in Java》这样的经典书籍...

    JAVA中的继承学习总结

    #### 二、Java中的继承细节 ##### 1. 关键字new的用法 - **new关键字**:用于实例化一个类的新对象。当我们使用`new`创建一个对象时,会调用该类的构造器来初始化这个新对象。 ##### 2. public、protected、...

    C++类封装设计继承

    继承(Inheritance)是C++中的另一个重要特性,它允许一个类(子类或派生类)继承另一个类(父类或基类)的属性和行为。在描述中提到的`CWorker`是一个抽象基类(Abstract Base Class, ABC),它可能包含了一些与...

    android工具类,自己写的,些项目时可以直接继承

    标题中的"android工具类,自己写的,些项目时可以直接继承"表明这是一个自定义的工具类库,设计为可以方便地被其他Android项目直接继承使用。 描述中提到,这个工具类包含基础的Activity,并提供了网络连接以及一些...

    Hibernate继承映射的第一种策略:每棵类继承树对应一张表

    在Java世界中,ORM(对象关系映射)框架如Hibernate极...但在大型项目或复杂的类继承结构中,可能需要考虑其他策略,如`JOINED`或`TABLE_PER_CLASS`。理解并合理应用这些策略,是优化Java应用程序与数据库交互的关键。

    Java 实现继承实例代码

    在Java编程语言中,继承是面向对象特性之一,它允许我们创建一个类(子类或派生类)作为现有类(父类或基类)的扩展。这种设计模式有助于代码重用,使得子类可以继承父类的属性和方法,并且可以添加新的功能或覆盖已...

    fushu.rar_c++类的继承

    标题中的“fushu.rar_c++类的继承”可能是指一个关于C++复数类继承的示例程序,其中"复数"类被设计为继承自某个基础类。复数类通常会包含实部和虚部两个数据成员,并提供相关的操作方法,如加法、减法、乘法等。 在...

    类的继承课件.docx

    以上就是关于类继承的基本概念和关键点,包括其在 C++ 中的实现方式、访问控制、函数重写以及构造和析构函数的调用顺序。理解并熟练运用这些知识,能够帮助开发者更好地设计和组织代码,提高软件的可维护性和扩展性...

    delphi的CLX和VCL的类属性继承图

    VCL的类继承体系结构复杂而强大,它从TObject基类开始,扩展出众多的类,如TForm、TButton、TLabel等,这些类分别代表了不同的UI元素和功能。VCL的类继承图可以帮助开发者理解各个类之间的关系,更好地利用类的特性...

Global site tag (gtag.js) - Google Analytics