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向上转型和向下转型以及类型还原

在Java继承体系中,认为基类
  • zhangzeyuaaa
  • zhangzeyuaaa
  • 2014年10月18日 23:12
  • 1817

JAVA笔记-多态的意义(向上转型与向下转型)

多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。 编程其实就是一个将具体世界进行抽象化的过程,多态就是抽象化的一种体现,把一系列具体事物的共同点抽象出...
  • Java_Chuck
  • Java_Chuck
  • 2016年07月02日 11:09
  • 3559

NOI题解(1.2编程基础之变量定义、赋值及转换)

01:整型数据类型存储空间大小 #include "iostream" using namespace std; int main() { int a; short b; co...
  • v_xchen_v
  • v_xchen_v
  • 2016年08月26日 00:05
  • 2586

java基础之对象的向上转型

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

java向上转型向下转型

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

java中的继承和向上转型

简单的说明一下 父类有的方法Method01,Method02 子类继承父类Method01,Method03 这里向上转型,会去除子类特有的方法 那么如果这边fu.Method0...
  • wang0112233
  • wang0112233
  • 2017年10月30日 18:43
  • 53

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

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

java继承覆盖与向上转型,权限

子类可以覆盖父类的非final成员变量和重写非final方法 private私有变量和方法只能在类的内部使用,因此子类继承的同时会被隐藏,相当于不继承 protected变量,子类可以继承调用 ...
  • u010006309
  • u010006309
  • 2016年09月20日 17:42
  • 42

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

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

Java中的final和向上转型

package Number; import java.util.Random; class Parent{ private final void doit(){ System.out.pri...
  • Ethan706
  • Ethan706
  • 2014年08月13日 14:12
  • 288
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java基础:向上转型
举报原因:
原因补充:

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