java基础:向上转型

原创 2016年08月29日 17:02:46
最简单的例子
public class Sample  {
	
	public static void main(String[] args) {
		Father father = new Son();
		father.a();
	}	
}

class Father {

	public void a() {
		System.out.println("father");
	}
}

class Son extends Father {
	
	public void a() {
		System.out.println("son");
	}
}
/**
output:son
*/
不同于C的方法调用(前期绑定,即程序执行前绑定),java中除了static和final(private方法默认为final)方法是前期绑定,其他所有方法都是后期绑定(自动发生),即在运行时根据对象的类型进行绑定,也就是编译器一直不知道对象的类型。上面例子中即使最终调用的是Son里的a方法,但是Father假如没这个方法的话,编译将无法通过。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java基础之对象的向上转型

对象的向上转型 什么是向上转型:将子类的对象赋值给父类的引用。 1、一个引用可以调用哪些变量(变量和函数),取决于这个引用的类型中变量的定义。    p这个引用是Person类型,Person类...

java向上转型向下转型

  • 2012年09月04日 10:44
  • 19KB
  • 下载

java炒冷饭系列10 内部类 使用.this与.new和向上转型

使用.this与.new如果你需要生成对外部类对象的引用,可以使用外部类的名字后紧跟加点和this(OutClass.this)。这样产生的引用自动地具有正确的类型,这一点在编译期就被知晓并受到检查,...

Java运行时绑定探讨之向上转型

运行时绑定也叫动态绑定,它是一种调用对象方法的机制。Java调用对象方法时,一般采用运行时绑定机制。1.Java的方法调用过程编译器查看对象的声明类型和方法名(对象变量的声明类型)。通过声明类型找到方...

【java】深入向上转型(动态绑定)

运行时绑定也叫动态绑定,它是一种调用对象方法的机制。Java调用对象方法时,一般采用运行时绑定机制。   1.Java的方法调用过程   编译器查看对象的声明类型和方法名(对象变量的声明类型)。通...

java向上转型

问题的由来: 首先是方法的参数是父类对象,传入子类对象是否可行 然后引出Parent p = new Children(); 这句代码不是很理解,google的过程中引出向上转型 要理解向上转...
  • hephec
  • hephec
  • 2014年06月05日 00:13
  • 341

java接口用法:向上转型和回调函数

一、向上转型 下面一句话出自Thinking in Java。 使用接口的核心原因:为了能够向上转型为多个基类型。即利用接口的多实现,可向上转型为多个接口基类型。 j      ava接口或抽象类都...

JAVA & C++ 向上转型 区别

转载:http://www.cnblogs.com/lxw0109/p/CPP_JAVA.html package org.lxw.demo; class A { public v...

[待修改]java接口用法:向上转型和回调函数 回调机制在 Android 监听用户界面操作中的体现

http://www.cnblogs.com/lingyun1120/archive/2011/10/09/2203837.html 一、向上转型 下面一句话出自Thinking in J...

java接口用法:向上转型和接口回调

1. 向上转型 使用接口的核心原因:为了能够向上转型为多个基类型。即利用接口的多实现,可向上转型为多个接口基类型。 java接口或抽象类都可以使用向上转型,它们用的都是java运行时多态技术,或者...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java基础:向上转型
举报原因:
原因补充:

(最多只允许输入30个字)