java对象转型
TestCasting.java
//对象转型——实例1 class Animal { public String name;//名字 Animal(String name) { this.name = name; } } class Cat extends Animal { public String eyeColor;//眼睛的颜色 Cat(String name, String eyeColor) { super(name); this.eyeColor = eyeColor; } } class Dog extends Animal{ public String furColor;//毛的颜色 Dog(String name, String furColor) { super(name); this.furColor = furColor; } } public class TestCasting { public static void main(String[] args) { Animal a = new Animal("name"); Cat c = new Cat("CatName","bule"); Dog d = new Dog("DogName","black"); //instanceof用来判断内存中实际对象A是不是B类型 System.out.println(a instanceof Animal);//a是Ainmal吗?true System.out.println(c instanceof Animal);//true System.out.println(d instanceof Animal);//true System.out.println(a instanceof Cat);//a是Cat吗?false a = new Dog("大黄","黄色"); System.out.println(a.name);//大黄 //System.out.println(a.furColor);//error System.out.println(a instanceof Animal);//a是Ainmal吗?true System.out.println(a instanceof Dog);//a是Dog吗?true Dog d1 = (Dog)a;//要加强制转换符 System.out.println(d.furColor);//black /***************************************************************/ TestCasting test = new TestCasting(); test.f(a); //name: 大黄 黄色 fur test.f(c); //name: CatName bule eyes test.f(d); //name: DogName black fur } //面向对象,可扩展性好 public void f(Animal a) { System.out.print(" name: " + a.name); if(a instanceof Cat) { Cat cat = (Cat)a; System.out.println(" " + cat.eyeColor + " eyes"); } else if(a instanceof Dog){ Dog dog = (Dog)a; System.out.println(" " + dog.furColor + " fur"); } } }
相关推荐
在Java编程语言中,对象转型是一种重要的概念,它允许我们改变对象的类型,以便我们可以以不同的方式使用同一个对象。在上述实例中,我们探讨了两种主要的转型方式:向上转型(upcasting)和向下转型(downcasting)...
Java 向上转型与向下转型 Java 转型是 Java 编程中的一种非常重要的概念,主要包括向上转型和向下转型两种。向上转型是指将子类对象转换为父类对象,而向下转型是指将父类对象转换为子类对象。 向上转型...
在Java编程语言中,上转型对象(Upcasting)是一种面向对象编程的概念,它涉及到将子类对象赋值给父类类型的引用。这种做法允许我们使用父类引用来调用子类对象的方法,从而实现多态性。在Java中,所有类都隐式地...
Java 对象转型详解 Java 中的对象转型是指在编程中将一个对象转换为另一个对象的过程。对象转型可以分为两种:向上转型和向下转型。 向上转型是指将子类对象转换为父类对象。公式为:Father f = new Son();其中,...
总之,Java的转型运算符是编程过程中不可或缺的一部分,它们允许我们灵活地在不同数据类型之间操作,并在面向对象编程中实现多态性。理解和熟练运用这些转换技巧是成为一名合格的Java开发者的必备技能。
### Java中的对象转型与多态 #### 一、对象转型 在Java中,对象转型(Casting)是指将一个对象的引用从一个类转换到另一个类的过程。这通常发生在类的继承关系中。 ##### 向上转型(Upcasting) - **定义**:将...
- `ezmorph-1.0.6.jar`:提供对象转型工具,帮助进行非标准类型到标准类型的转换,对于JSON的复杂数据类型转换很有用。 4. **转换过程**: - 对于一个Java对象,例如一个User类的实例,首先需要确保该类的属性都...
当我们创建一个子类对象并将其赋值给父类引用时,这种行为被称为向上转型(Upcasting)。这一过程是自动且安全的,因为子类对象包含了父类的所有属性和方法。下面我们将深入探讨这个主题,包括它的原理、示例代码...
`ezmorph-1.0.2.jar`则是一个Java对象转型库,可以用于将Java对象转换成其他形式,这也可能在JSON处理中发挥作用。 在实际使用`json-lib`进行JSON操作时,你可以通过`net.sf.json.JSONObject`和`...
Java 上转型和下转型对象 Java 中的上转型和下转型对象是对象之间的类型转换关系,用于描述父类和子类之间的继承关系。在 Java 中,我们可以通过上转型和下转型来实现对象之间的类型转换。 上转型对象 上转型对象...
在Java编程语言中,向上转型和向下转型是对象多态性的关键组成部分,它们涉及到对象的类型转换,使得程序设计更加灵活且易于维护。下面将详细解释这两种转型的概念、原理及应用。 ### 向上转型 向上转型指的是将一...
Java实现运用上转型以及对象抽象方法计算圆形或圆锥的面积、周长等成员变量
5. **ezmorph-1.0.6.jar**:EZMorph库是一个用于Java对象转型的工具,它可以将一个对象转换为另一种对象。在JSON处理中,EZMorph可能用于在不同数据类型之间进行转换,以适应JSON的数据模型。 这些JAR包的组合使用...
Java面向对象编程是一种强大的软件开发方法,它基于“对象”的概念,强调数据和操作数据的方法紧密结合。这个资源包“java面向对象案例源码及PPT”显然是为了帮助初级Java学习者深入理解面向对象编程的基本原理和...
5. **`ezmorph-1.0.6.jar`**:EZMorph库是一个用于Java对象转型的库,它使得对象转型变得更简单。在处理JSON时,EZMorph可以用于在不同数据类型之间转换JSON数据,例如将JSON数字转换为字符串,或者将JSON字符串转换...
Java面向对象程序设计是计算机科学中的一个重要领域,尤其对于初学者和有志于软件开发的人来说,它是必须掌握的基础。这份“Java面向对象程序设计课件”可能是为了帮助大学生理解和掌握这个主题而精心编排的。它适合...
本文将深入探讨Java中的上转型对象如何体现多态性,并进一步分析面向对象的设计原则。 ### 多态的概念 多态(Polymorphism)是指一个接口可以被多个类实现,或者一个抽象类可以有多个子类继承,并且这些子类可以...
通过向上转型,子类对象可以被视为父类对象,这使得我们可以在不关心具体类型的情况下调用方法,提高了代码的灵活性和可扩展性。 4. **类与对象**:类是创建对象的模板,描述了对象的状态(属性)和行为(方法)。...
Java通过方法重写(override)和向上转型(upcasting)实现多态性。 5. 构造器:构造器用于初始化新创建的对象,与类名相同且无返回值。Java允许重载构造器以满足不同初始化需求。 二、面向对象高级特性 6. 接口...
主要讲述了JAVA中对象的转型的相关问题。