`

继承基础--成员变量的静态绑定和方法的动态绑定-测试

    博客分类:
  • Java
阅读更多

写出程序的输出,测试自己是否了解继承基础。

/**  父类 */
class PaPa {
	String color = "黑白";
	public void method() {
		System.out.println("父亲照片:" + color);
	}
}
/**  子类 */
class Sub extends PaPa {
	String color = "彩色";
	public void method() {
		System.out.println("儿子照片:" + color);
	}
}
/**  测试 */
public class Test {
	private void show(PaPa p) {
		System.out.print(p.color+" ---- ");
		p.method();
	}
	public static void main(String args[]) {
		Sub s = new Sub();
		PaPa t = new Sub();
		PaPa p = new PaPa();
		System.out.println(p.color);
		System.out.println(s.color);
		System.out.println(t.color);
		new Test().show(p);
		new Test().show(s);
		new Test().show(t);
	}
}

程序输出:

黑白
彩色
黑白
黑白 ---- 父亲照片:黑白
黑白 ---- 儿子照片:彩色
黑白 ---- 儿子照片:彩色


小结:

成员变量:没有动态绑定的说法,全部都是静态绑定;

覆盖方法:privae/static/final的,按照静态绑定;其他的方法,看实际对象的类型调用匹配的方法。运行时动态绑定。

 

0
0
分享到:
评论

相关推荐

    WPF绑定静态变量的示例代码

    wpf 给控件绑定静态变量,静态变理改变后控件上的值随着变量的demo,这只是个demo,具体应用场景可以根据实际的情况进行调整,本demo使用 vs2019进行编写。

    WPF绑定静态变量的示例代码(二)加上IValueConverter

    wpf 给控件绑定静态变量,静态变理改变后控件上的值随着变量的demo,这只是个demo,具体应用场景可以根据实际的情况进行调整,本demo使用 vs2019进行编写。

    Java中的静态绑定和动态绑定

    一个Java程序的执行要经过编译和执行(解释)这两个步骤,同时Java又是面向对象的编程语言。...  使用private或static或final修饰的变量或者方法,使用静态绑定。而虚方法(可以被子类重写的方法)则会根

    Java多态中的动态绑定与静态绑定

    Java虚拟机的动态绑定与静态绑定 大家可能都知道Java面向对象的三大特性,封装,继承,多态,其中动态绑定就与多态有关,那什么是动态绑定呢? 1.动态绑定(auto binding):也叫后期绑定,在运行时,虚拟机根据具体...

    VB.NET局部静态变量介绍

    VB.NET能够实现很多C#不能做到的功能,如When语句、Optional参数、局部Static变量、对象实例访问静态方法、Handles绑定事件、On Error处理异常、Object直接后期绑定等等。VB和C#同属.NET的语言,编译出来的是同样的...

    可以全局访问的MVVM绑定方法

    能够实现全局访问的MVVM绑定方法, 我实在写不出50个字的描述!

    Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析

    本文实例讲述了Python面向对象程序设计类变量与成员变量、类方法与成员方法用法。分享给大家供大家参考,具体如下: 类变量与成员变量 在类中声明的变量我们称之为类变量[静态成员变量], 在init()函数中声明的变量...

    Delphi7.完美经典

    7-9 静态成员方法——Class Methods 第8章 异常处理 8-1 异常处理存在的目的 8-2 Object Pascal异常的种类 8-2-1 Delphi内建的异常类 8-2-2 自定义异常类 8-3 触发异常的方法 8-3-1 由程序系统自动触发 8-...

    PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定

    静态变量的类型关键字是static。本文主要是学习php中静态属性和静态方法的使用方法和基本的示例以及延迟绑定

    play框架手册

    变量和脚本 - 18 - 路由优先级 - 18 - 服务器静态资源 - 18 - staticDir: mapping - 18 - staticFile: mapping - 19 - URL 编码 - 19 - 反转路由:用于生成某些URL - 19 - 设置内容风格(CSS) - 20 - HTTP 内容协商 ...

    play framework 框架手册 word 版

    变量和脚本 - 18 - 路由优先级 - 18 - 服务器静态资源 - 18 - staticDir: mapping - 18 - staticFile: mapping - 19 - URL 编码 - 19 - 反转路由:用于生成某些URL - 19 - 设置内容风格(CSS) - 20 - HTTP 内容协商 ...

    PHP 面向对象程序设计(oop)学习笔记 (二) – 静态变量的属性和方法及延迟绑定

    Static(静态)关键字用来定义静态方法和属性,static 也可用于定义静态变量以及后期静态绑定。 1、静态变量 static variable 静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。也就是说,...

    Lua-C 绑定库LuatinkerE.zip

    LuatinkerELua-C 绑定库"lua_tinker"的C 14和Lua 5.3扩展版本。使用大量C 14特性Variadic Template 和 index_sequence, SFINAE enable_if 和 type_traits, tuple, function, forward_ref, decltype(auto)。通过vc...

    Delphi7.完美经典.part1

    7-9 静态成员方法——Class Methods <br>第8章 异常处理 <br>8-1 异常处理存在的目的 8-2 Object Pascal异常的种类 8-2-1 Delphi内建的异常类 8-2-2 自定义异常类 8-3 触发异常的方法 ...

    易语言程序免安装版下载

     静态编译后的易语言可执行程序(exe)和动态链接库(dll),运行时不再依赖任何支持库文件,文件尺寸更小(相对以前的独立编译),PE结构更合理(取消了“易格式体”),加载速度更快,而且有效解决了“病毒误报”和...

    《Java和Android开发实战详解》第6到10章源代码-by 南邮-陈杨

    9.3.1 静态绑定与动态绑定 180 9.3.2 Java语言支持的多态 181 9.4 多态的实现 181 9.4.1 使用类继承来实现多态 181 9.4.2 使用接口来实现多态 184 9.5 包 186 9.5.1 Java包基础 186 9.5.2 package和...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    解析C++中的虚拟函数及其静态类型和动态类型

    虚拟函数是C++语言引入的一个很重要的特性,它提供了“动态绑定”机制,正是这一机制使得继承的语义变得相对明晰。 (1)基类抽象了通用的数据及操作,就数据而言,如果该数据成员在各派生类中都需要用到,那么就...

Global site tag (gtag.js) - Google Analytics