`
hdu0704
  • 浏览: 12923 次
  • 性别: 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继承与多态的全面解析及其综合应用

    内容概要:本文档详尽介绍了Java继承和多态的基本概念及综合应用。涵盖Java继承的基础,如关键字extends与super的使用、构造函数继承及方法重写等;还探讨了Java多态的特点,如方法重载与重写、向上转型与向下转型的...

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

    本篇文章将围绕Java继承和多态机制的深入讲解,探索它们是如何促进代码的灵活性和扩展性的。 ### 继承机制 继承,作为面向对象编程的基石之一,允许我们将一个类的属性和行为传递给另一个类,从而实现代码的复用。...

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

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

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

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

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

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

    java-learning-练习-java继承和多态之综合练习

    在深入探讨Java继承与多态的综合练习之前,我们首先需要明确Java中继承和多态的基本概念和重要性。Java是一种面向对象的编程语言,其核心特性之一就是对象的继承性。继承允许新创建的类(子类)继承父类的属性和方法...

    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编程中继承和多态的概念及其应用,涵盖从基础到进阶的内容,包括继承的基本概念、super关键字的应用、方法重载与重写、instanceof关键字的作用以及继承与多态的具体示例。 适合人群:...

    java封装 继承与多态

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

    Java 继承与多态的深入理解

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

    详解java接口、继承和多态

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

Global site tag (gtag.js) - Google Analytics