`
hdu0704
  • 浏览: 12737 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JAVA继承与多态

    博客分类:
  • java
 
阅读更多
/**
 * 实例化先后顺序:父类的静态变量、子类的静态变量、父类的非静态变量、父类的构造器、子类的非静态变量、子类的构造器
 * 
 * @author zhang
 * 
 */
public class Father {
	public static void main(String[] args) {
		System.out.println("Son constructor");
		Father f = new Son();
		f.f();// 如果子类重写父类的方法,会调用子类的
		f.g();// 如果子类没有该方法,则调用父类的
		((Son) f).h();// 子类有父类没有时,需要强转成子类的类型才可调用
	}

	private int i = 9;

	protected int j;

	public Father() {
		System.out.println("i=" + i + ",j=" + j);
		j = 39;
	}

	int a = print("if before father constructor");
	int b = print("after father constructor");

	private static int x1 = print("static Father.x1 initialized");

	public static int print(String s) {
		System.out.println(s);
		return 47;
	}

	public void f() {
		System.out.println("Father.f()");
	}

	public void g() {
		System.out.println("Father.g()");
	}
}

class Son extends Father {

	public Son() {
		System.out.println("k=" + k);
		System.out.println("j=" + j);
	}

	public int k = print("Son.k initialized");

	private static int x2 = print("static Son.x2 initialized");

	@Override
	public void f() {
		System.out.println("Son.f()");
	}

	public void h() {
		System.out.println("Son.h()");
	}
}

 控制打印:

static Father.x1 initialized

Son constructor

static Son.x2 initialized

if before father constructor

after father constructor

i=9,j=0

Son.k initialized

k=47

j=39

Son.f()

Father.g()

Son.h()

 

分享到:
评论

相关推荐

    java继承与多态

    ### Java继承与多态知识点详解 #### 一、引言 在面向对象编程语言中,继承和多态是非常重要的概念。它们提供了强大的机制来管理代码的复杂性,并且能够有效地复用现有代码。本文将详细介绍Java中的继承和多态概念...

    java继承与多态PPT教案学习.pptx

    Java继承与多态知识点 Java继承与多态是面向对象编程语言的重要概念,本文将对Java继承与多态进行详细的介绍和解释。 一、继承的含义 继承实际上是存在于面向对象程序中的两个类之间的一种关系。当一个类获取另一...

    java继承与多态教学及练习

    1继承的概念 2继承的实现 3变量隐藏与方法覆盖 4super关键字 5 子类的构造顺序 6Object类 7 final关键字

    Java继承与多态实验报告.doc

    Java继承与多态实验报告.doc

    java继承和多态PPT教案学习.pptx

    Java继承和多态PPT教案学习 本PPT教案主要讲解了Java中的继承和多态机制,包括继承、里式代换原则、多态和动态绑定、方法重载、重载构造函数和方法覆盖等概念。 继承是面向对象编程的基本机制之一,允许一个类继承...

    Educoder题目:Java面向对象 - 封装、继承和多态答案解析.md

    Educoder题目:Java面向对象 - 封装、继承和多态答案解析

    java继承、多态的简单程序.zip

    这个压缩包"java继承、多态的简单程序.zip"显然包含了一些示例代码,旨在帮助初学者理解这两个概念。接下来,我们将深入探讨Java中的继承和多态性。 ### 继承(Inheritance) 在Java中,继承允许一个类(子类)...

    java 继承与多态应用 输出员工信息 代码实例

    在Java编程语言中,继承和多态是面向对象编程的核心概念。这个代码实例主要展示了如何利用这些特性来处理员工信息的输出。以下是关于这个主题的详细解释。 **继承(Inheritance)** 继承允许一个类(子类)继承另一...

    java继承和多态ppt

    java 继承和多态PPT教程

    java 实验 继承与多态rectAngle 定义矩形类源代码

    java 实验 继承与多态rectAngle 定义矩形类,用户输入矩形的长与宽,程序计算其面积和周长;派生子类正方形类,定义一个接口Printable源代码

    Educoder题目:Java面向对象 - 封装、继承和多态的综合练习答案解析.md

    Educoder题目:Java面向对象 - 封装、继承和多态的综合练习答案解析

    java中继承与多态的题目

    Java 中继承与多态的题目 本资源摘要信息是关于 Java 中继承和多态的题目,涵盖了面向对象编程的基本概念和继承机制的应用。 继承的概念 继承是面向对象编程的一种机制,允许一个类(子类)继承另一个类(父类)...

    Java继承与多态 Employee简单员工信息录入程序

    类与类属性:Employee: firstName,lastName,socialSecurityNumber SalaridEmployee: weeklySalary(周薪) HourlyEmployee: wage(每小时的工钱),hours(月工作小时数) CommisionEmployee: grossSales(销售额),...

    java封装 继承与多态

    java封装 继承与多态 程序设计 类与对象

    Java 继承与多态的深入理解

    "Java 继承与多态的深入理解" 继承是Java语言中的一种机制,允许一个类继承另一个类的特征和行为,使得子类具有父类的各种属性和方法。继承的特点是:在继承关系中,父类更通用、子类更具体。父类和子类需要满足is-...

    详解java接口、继承和多态

    ### 详解Java接口、继承和多态 #### 一、Java接口 在Java中,接口是一种定义行为的方式,它提供了一种实现抽象方法的手段。通过接口,开发人员可以为类定义一组方法签名,但不提供这些方法的具体实现。这有助于...

    轻松学Java之继承与多态优秀PPT.pptx

    "Java继承与多态" Java继承是指一个类从另一个类继承成员变量和成员方法的过程。继承是面向对象编程的核心机制之一,它允许我们创建一个新的类,并继承另一个类的成员变量和成员方法,从而简化代码编写和维护。 在...

    Java实验报告——类的继承、多态的应用

    在本实验报告中,我们将深入探讨Java编程中的两个核心概念:类的继承和多态的应用。实验主要目标是加深对抽象类和抽象方法的理解,并掌握如何在实际编码中实现类的继承以及多态性。 首先,让我们理解抽象类和抽象...

    java基础继承封装多态

    本资源摘要信息将对 Java 基础知识点进行总结,涵盖继承、封装、多态等概念,并对面向对象的设计、数据库设计模式等进行讲解。 继承 继承是 Java 中的一种机制,允许一个类继承另一个类的属性和方法。继承的语法是...

    Java(继承与多态)

    Java(继承与多态)

Global site tag (gtag.js) - Google Analytics