`
lele0103
  • 浏览: 669 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

java 对象转型

    博客分类:
  • java
阅读更多

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对象转型实例分析

    在Java编程语言中,对象转型是一种重要的概念,它允许我们改变对象的类型,以便我们可以以不同的方式使用同一个对象。在上述实例中,我们探讨了两种主要的转型方式:向上转型(upcasting)和向下转型(downcasting)...

    java向上转型向下转型

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

    Java 中的上转型对象 使用

    在Java编程语言中,上转型对象(Upcasting)是一种面向对象编程的概念,它涉及到将子类对象赋值给父类类型的引用。这种做法允许我们使用父类引用来调用子类对象的方法,从而实现多态性。在Java中,所有类都隐式地...

    详细讲述Java中的对象转型

    Java 对象转型详解 Java 中的对象转型是指在编程中将一个对象转换为另一个对象的过程。对象转型可以分为两种:向上转型和向下转型。 向上转型是指将子类对象转换为父类对象。公式为:Father f = new Son();其中,...

    java 转型运算符的资源

    总之,Java的转型运算符是编程过程中不可或缺的一部分,它们允许我们灵活地在不同数据类型之间操作,并在面向对象编程中实现多态性。理解和熟练运用这些转换技巧是成为一名合格的Java开发者的必备技能。

    java中对象转型多态抽象类接口笔记.doc

    ### Java中的对象转型与多态 #### 一、对象转型 在Java中,对象转型(Casting)是指将一个对象的引用从一个类转换到另一个类的过程。这通常发生在类的继承关系中。 ##### 向上转型(Upcasting) - **定义**:将...

    使用json-lib将java对象转换成json字符串

    - `ezmorph-1.0.6.jar`:提供对象转型工具,帮助进行非标准类型到标准类型的转换,对于JSON的复杂数据类型转换很有用。 4. **转换过程**: - 对于一个Java对象,例如一个User类的实例,首先需要确保该类的属性都...

    java 子类对象赋值给父类对象的使用

    当我们创建一个子类对象并将其赋值给父类引用时,这种行为被称为向上转型(Upcasting)。这一过程是自动且安全的,因为子类对象包含了父类的所有属性和方法。下面我们将深入探讨这个主题,包括它的原理、示例代码...

    java > JSON 使用

    `ezmorph-1.0.2.jar`则是一个Java对象转型库,可以用于将Java对象转换成其他形式,这也可能在JSON处理中发挥作用。 在实际使用`json-lib`进行JSON操作时,你可以通过`net.sf.json.JSONObject`和`...

    Java上转型和下转型对象

    Java 上转型和下转型对象 Java 中的上转型和下转型对象是对象之间的类型转换关系,用于描述父类和子类之间的继承关系。在 Java 中,我们可以通过上转型和下转型来实现对象之间的类型转换。 上转型对象 上转型对象...

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

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

    Java实现运用上转型对象抽象方法计算圆形或圆锥的面积、周长等成员变量

    Java实现运用上转型以及对象抽象方法计算圆形或圆锥的面积、周长等成员变量

    JSON的JAR包和所依赖的JAR包

    5. **ezmorph-1.0.6.jar**:EZMorph库是一个用于Java对象转型的工具,它可以将一个对象转换为另一种对象。在JSON处理中,EZMorph可能用于在不同数据类型之间进行转换,以适应JSON的数据模型。 这些JAR包的组合使用...

    java面向对象案例源码及PPT

    Java面向对象编程是一种强大的软件开发方法,它基于“对象”的概念,强调数据和操作数据的方法紧密结合。这个资源包“java面向对象案例源码及PPT”显然是为了帮助初级Java学习者深入理解面向对象编程的基本原理和...

    使用json的jar包

    5. **`ezmorph-1.0.6.jar`**:EZMorph库是一个用于Java对象转型的库,它使得对象转型变得更简单。在处理JSON时,EZMorph可以用于在不同数据类型之间转换JSON数据,例如将JSON数字转换为字符串,或者将JSON字符串转换...

    Java面向对象程序设计课件

    Java面向对象程序设计是计算机科学中的一个重要领域,尤其对于初学者和有志于软件开发的人来说,它是必须掌握的基础。这份“Java面向对象程序设计课件”可能是为了帮助大学生理解和掌握这个主题而精心编排的。它适合...

    上转型对象体现多态

    本文将深入探讨Java中的上转型对象如何体现多态性,并进一步分析面向对象的设计原则。 ### 多态的概念 多态(Polymorphism)是指一个接口可以被多个类实现,或者一个抽象类可以有多个子类继承,并且这些子类可以...

    Java面向对象程序设计(源代码)

    通过向上转型,子类对象可以被视为父类对象,这使得我们可以在不关心具体类型的情况下调用方法,提高了代码的灵活性和可扩展性。 4. **类与对象**:类是创建对象的模板,描述了对象的状态(属性)和行为(方法)。...

    java面向对象基础、高级pdf讲义

    Java通过方法重写(override)和向上转型(upcasting)实现多态性。 5. 构造器:构造器用于初始化新创建的对象,与类名相同且无返回值。Java允许重载构造器以满足不同初始化需求。 二、面向对象高级特性 6. 接口...

    Java4Android 21_对象的转型

    主要讲述了JAVA中对象的转型的相关问题。

Global site tag (gtag.js) - Google Analytics