JAVA 向上转型有什么用,List 和ArrayList的区别

原创 2015年07月06日 22:56:38
 List<String> lists = new ArrayList(); ArrayList<String> lists = new ArrayList(); 
到底有什么区别?这是上转型。
上转型对象不是父类创建的对象,而是子类对象的“简化”状态,它不关心子类新增的功能,只关心子类继承和重写的功能。
当一个类有很多子类时,并且这些子类都重写了父类中的某个方法。
当使用上转型对象在调用这个方法时就可能具有多种形态。因为不同的子类在重写父类的方法时可能产生不同的行为。也就是说,不同对象的上转型对象调用同一方法可能产生不同的行为。

例如下面的程序你测试一下就可以理解这样的用法。以下的程序输出为
Wang!Wang!......
miao~~miao~~...
package com.vince.testJava;

class Animal {
	void cry() {
	}
}

class Dog extends Animal {
	void cry() {
		System.out.println("Wang!Wang!......");
	}
}

class Cat extends Animal {
	void cry() {
		System.out.println("miao~~miao~~...");
	}
}

public class Test01 {
	public static void main(String args[]) {
		Animal animal;
		animal = new Dog(); // animal是Dog对象的上转型对象
		animal.cry();
		animal = new Cat(); // animal是Cat对象的上转型对象
		animal.cry();
	}
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

关于java List的强制转型的理解

背景: 之前对于涉及到List的强制转型的理解是:      List personList = (List) list;  他会检测list中的每一项,如果其中包括非Person类或其子类的就...

多态polymorphism,向上转型和动态方法调度有什么用?

多态有什么用?马 克 - t o - w i n:我给大家想了两个需求:1)要求程序运行起来以后,如果用户输入自行车,就执行自行车的驾驶方法。如果用户输入小轿车,就执行小轿车的驾驶方法。这是 就用到父...

java 向上转型(upcasting)和向下转型(downcasting)区别举例详解

今天下午小龙在练习instanceof用法时突然想到java的upcating 和 downcasting 好像与此有关联,于是自己写了一个相关的案例,在此与众位看到的亲们分享一下,希望能帮到正在学习...

java向上转型向下转型

  • 2012-09-04 10:44
  • 19KB
  • 下载

java向上转型

向上转型:将子类对象的引用转换为父类对象的引用,这就是向上转型。 ”为新的类提供方法“这并不是继承中最重要的方面,其最重要的是用来表现新类和基类之间的关系。这种关系是”新类是现有类的一种类型“ 也就是...

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

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

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

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

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

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

java向上转型

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

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

一、向上转型 下面一句话出自Thinking in Java。 使用接口的核心原因:为了能够向上转型为多个基类型。即利用接口的多实现,可向上转型为多个接口基类型。 j      ava接口或抽象类都...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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