`

关于向上和向下转型

 
阅读更多
package test;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

class Aa {
	void aMethod() {
		System.out.println("A method");
	}
}

class Bb extends Aa {
	void aMethod() {
		System.out.println("A method in B");
	}

	void bMethod1() {
		System.out.println("B method 1");
	}

	void bMethod2() {
		System.out.println("B method 2");
	}

}

public class Cc {
	public static void main(String[] args) {
		// 向上转型,aa无法调用Bb的bMethod1(),bMethod2()
		Aa aa = new Bb();
		// 下面调用的是Bb重写了的方法aMethod()
		aa.aMethod();
		// 向下转型
		Bb bb = (Bb) aa;
		bb.aMethod();// 依旧调用重写的方法aMethod()
		bb.bMethod1();
		bb.bMethod2();
		// 也是向下转型,编译无错,运行报错,因为aa2指向的是Aa
//		Aa aa2 = new Aa();
//		Bb bb2 = (Bb) aa2;
//		bb2.aMethod();
//		bb2.bMethod1();
//		bb2.bMethod2();
		// 但是:下面这段不会
		List<Integer> listA = new ArrayList<Integer>() {
			{
				add(new Integer("1"));
				add(new Integer("2"));
			}
		};
		Iterator it = listA.iterator();
		while(it.hasNext()){
        	Integer s = (Integer) it.next();//这块不会报错
        	System.out.print("a.listA:"+s+" , ");
        }
	}
}

分享到:
评论

相关推荐

    java向上转型向下转型

    Java 转型是 Java 编程中的一种非常重要的概念,主要包括向上转型和向下转型两种。向上转型是指将子类对象转换为父类对象,而向下转型是指将父类对象转换为子类对象。 向上转型(Upcasting) 向上转型是将子类对象...

    java向上转型和向下转型.doc

    在Java编程语言中,向上转型和向下转型是对象多态性的关键组成部分,它们涉及到对象的类型转换,使得程序设计更加灵活且易于维护。下面将详细解释这两种转型的概念、原理及应用。 ### 向上转型 向上转型指的是将一...

    什么是向下转型和向上转型.xmind

    什么是向下转型和向上转型

    Java 向上转型和向下转型的详解

    "Java 向上转型和向下转型的详解" Java 向上转型和向下转型是面向对象编程语言中的一个重要概念,它们都是继承机制的基础上进行转型的。向上转型是将子类对象转换为父类类型的过程,而向下转型是将父类对象转换...

    学习Java之如何正确地向上转型与向下转型.rar

    这种继承关系使得子类能够具备父类的特性,同时也允许在代码中进行类型转换,即向上转型和向下转型。本文将深入探讨这两种转型方式以及如何正确使用它们。 **向上转型(Upcasting)** 向上转型是指将子类对象赋值给...

    Java 转型(向上或向下转型)详解及简单实例

    本文将深入探讨Java中的向上转型和向下转型,同时提供简单的实例来帮助理解这些概念。 首先,让我们了解一下向上转型。向上转型(Upcasting)是指将子类对象赋值给父类引用。在Java中,这是自动完成的,因为子类...

    Java向上转型和向下转型实例解析

    "Java向上转型和向下转型实例解析" 在Java中,向上转型和向下转型是两个非常重要的概念,它们都是基于继承机制的。向上转型是指子类对象转换为父类或接口,而向下转型是指父类对象转换为子类。了解向上转型和向下...

    17.2.1 回顾“向上转型”与“向下转型”.mp4

    17.2.1 回顾“向上转型”与“向下转型”.mp4

    Java基础精品课12-抽象类录屏1.向下转型和向上转型.mp4

    Java基础精品课12-抽象类录屏1.向下转型和向上转型.mp4

    java的对象引用与对象的区别、多态性理解、向上转型和向下转型、栈和堆等综合型的知识.docx

    本文将深入探讨对象引用与对象的区别、多态性、向上转型和向下转型以及栈和堆内存的管理。 首先,让我们了解对象引用与对象的区别。对象是根据类实例化出来的实体,它们在内存中的位置通常在堆区,具有实际的数据和...

    Java 向下转型的意义

     其实向上转型和向下转型都是很重要的,可能我们平时见向上转型多一点,向上转型也比较好理解。  但是向下转型,会不会觉得很傻,我是要用子类实例对象,先是生成子类实例赋值给父类引用,在将父类引用向下强转...

    289.287.JAVA基础教程_面向对象(中)-向下转型的几个常见问题(289).rar

    本教程将深入探讨Java基础中的面向对象部分,特别是关于向下转型的几个常见问题。 1. **什么是向下转型?** 向下转型(Downcasting)是指将父类类型的引用或对象转换为子类类型的过程。在Java中,当一个父类引用...

    向下转型和instanceof运算符的应用.pdf

    在面向对象编程中,向下转型和`instanceof`运算符是两种重要的概念,尤其是在多态性的实现中扮演关键角色。本文将深入探讨这两个主题,并结合Delphi编程语言的背景进行阐述,尽管`instanceof`运算符在Java中更为常见...

    Java上转型和下转型对象

    1. 向下转型必须先向上转型,否则会发生异常。 2. 下转型对象可以引用子类和父类的属性和方法。 代码示例: ```java public class Shangz { int a = 1; int b = 2; void cal() { System.out.println(a * b); ...

    浅谈Java中向上造型向下造型和接口回调中的问题

    浅谈Java中向上造型向下造型和接口回调中的问题 Java 中的向上造型、向下造型和接口回调是 Java 编程中非常重要的概念。下面我们将对这三个概念进行详细的介绍。 向上造型(Upcasting) 向上造型是指将子类对象...

    对象转型和多态1

    本文将深入探讨Object类、对象转型(向上转型和向下转型)以及多态的概念。 **第一节: Object类** Object类是所有Java类的基类,它位于类层次结构的根节点。这意味着,无论你创建哪个自定义类,最终都会间接地...

    一文理解cast向下转换内部代码

    这通常发生在两种情况:向上转型(Upcasting)和向下转型(Downcasting)。向上转型是自动的,无需显式Cast,它将子类对象视为其父类对象,这在多态性中非常常见。而向下转型则需要显式Cast,因为它涉及到将父类对象...

    java对象转型实例分析

    在上述实例中,我们探讨了两种主要的转型方式:向上转型(upcasting)和向下转型(downcasting)。 1. 向上转型(Upcasting): 向上转型是自动进行的,无需显式声明。当我们将子类对象赋值给基类引用时,就发生了...

    BuilderCalendarXXXX.java

    java向上转型与向下转型

    新形势下华为信息产业转型分析.pdf

    华为的战略是“向下扎到根,向上捅破天”,即在传统技术基础上深入根基,同时在新兴生态中寻求创新和突破。通过鸿蒙操作系统,华为旨在打造一个开放、协同的软件生态,以对抗封闭和割裂的现状。 投资建议方面,华为...

Global site tag (gtag.js) - Google Analytics