1.一个基类的引用类型变量可以“指向”其子类的对象
2.一个基类的引用不可以访问其子类对象新增加的成员属性和方法
3.可以使用 【引用变量 instanceof 类名】来判断该引用变量所指向的对象时候属于该类或该类的子类
4.子类的对象,可以当做基类的对象来使用,称作向上转型(upcasting),反之称为向下转型(downcasting)
class Animal {
private String name;
Animal(String name) {this.name = name;}
public void enjoy(){
System.out.println("叫声......");
}
}
class Cat extends Animal {
private String eyesColor;
Cat(String n,String c) {super(n); eyesColor = c;}
public void enjoy() {
System.out.println("猫叫声......");
}
}
class Dog extends Animal {
private String furColor;
Dog(String n,String c) {super(n); furColor = c;}
public void enjoy() {
System.out.println("狗叫声......");
}
}
class Bird extends Animal {
Bird() {
super("bird");
}
public void enjoy() {
System.out.println("鸟叫声......");
}
}
class Lady {
private String name;
private Animal pet;
Lady(String name,Animal pet) {
this.name = name; this.pet = pet;
}
public void myPetEnjoy(){pet.enjoy();}
}
public class Test {
public static void main(String args[]){
Cat c = new Cat("catname","blue");
Dog d = new Dog("dogname","black");
Bird b = new Bird();
Lady l1 = new Lady("l1",c);
Lady l2 = new Lady("l2",d);
l1.myPetEnjoy();
l2.myPetEnjoy();
}
}
分享到:
相关推荐
在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中对象的转型的相关问题。