zoukankan      html  css  js  c++  java
  • 面向对象----多态、类型的转换

    多态:

    同一个"接口",,因不同的实现而执行不同的套作。

    多态的优点:

    提高代码的扩展性和可维护性。

    多态实现的前提:

    1.继承。

    2.方法的重写。

    3.父类引用指向子类。

    多态在Java中实现的步骤:

    1.建立继承关系。

    2.在编译时将父类作为形参(范围大点,模糊点)。

    3.在运行时将子类对象作为实参,执行的子类重写后的方法

    ---------------------------------------------------------------------------------------------------------

    public class Animal {
    String name;
    int age;

    public Animal(){

    }
    public Animal(String name,int age){
    this.name=name;
    this.age=age;
    }

    public void shout(){
    System.out.println("动物在叫.....");
    }

    public class Cat extends Animal {
    @Override
    public void shout() {
    System.out.println("喵喵喵~~~~~~~~~~~");
    }
    }

    ---------------------------------------------------------------------------------

    public class Dog extends Animal {
    @Override
    public void shout() {
    System.out.println("汪汪汪~~~~~~~~~~~");
    }

    }

    ---------------------------------------------------------------------------------

    public class TestAnimal {


    public static void testShout(Animal a) {
    System.out.println("比赛开始....");
    a.shout();
    }

    public static void main(String[] args) {
    Dog dog = new Dog();
    testShout(dog);
    Cat cat = new Cat();
    testShout(cat);

    }
    }

    当利用父类创建子类时发生了向上转型:
    1.上转型对象不能操作子类新增的成员变量和方法。
    2.上转型对象可以操作子类继承或重写的成员变量和方法
    3.如果子类重写了父类的某个方法,上转型对象调用该方法时,是调用的重写方法。

    instance of运算符判断对象是否为指定类型的实例。如果是指定类型的实例返回值为true,否则返回false
    * 语法: 对象 instanceof 类型
    * 防止在类型转换时出现ClassCastException异常。
    * if(a instanceof Cat){
    * Cat c=(Cat)a;
    * }

  • 相关阅读:
    Hadoop学习入门
    node.js学习一——什么是node.js
    判断投递失败原因方法
    MySQL慢查询(一)
    jmeter5.1.1 打印OOM的问题
    Jmeter ForEach Controler、IF Controller、switch Controller
    Jmeter5.1.1 NON GUI下线程数可传参
    在JMeter压测 控制交易占比
    Linux下安装配置Jmeter5.1, 并执行jmx文件
    jmeter 生成报告 --- 如果已经生成jtl文件,可运行如下命令:jmeter -g test.jtl -o ./output
  • 原文地址:https://www.cnblogs.com/benpaozhimeng/p/6978688.html
Copyright © 2011-2022 走看看