• 子类继承了什么、多态、 向上转型


    子类继承了什么

    我们来想一个问题,子类继承了什么

    我们来看

    public class Animal {
    String name;
    int age;

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    public int getAge() {
    return age;
    }

    public void setAge(int age) {
    this.age = age;
    }

    @Override
    public String toString() {
    return "Animal{" +
    "name='" + name + '\'' +
    ", age=" + age +
    '}';
    }
    }

    我们的父类写了一个名字和年龄写了gat和set,在看我们子类

    public class Cat extends Animal{

    }

    什么都没有写,但是在测试类的时候我们输出就可以得到父类的东西 。那么可知i子类继承父类的话

    就可以获得父类中的方法和定义的变量,但是如果想给变量赋值 必须有get和set来获取给予!

    多态

    首先什么是多态:多态是指不同类的对象在调用同一个方法是所呈现出多种不同行为。

    使用条件:

    1)要有继承或者实现的关系

    2)要有方法重写

    3)要有父类引用指向子类对象

     

     

     

    作用: 消除了类之间的耦合关系,提高了程序的可扩展性和可维护性

    耦合指的是代码(程序)之间的关联程度

    语法格式:父类类名 引用名称 = new 子类类名();

    案例:

    public class Animall {
    public void shout(){
    System.out.println("动物的叫声");
    }
    }

    创建一个父类,在父类中定义方法

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

    创建一个Cat类型,继续父类,在子类中定义一个方法

    写一个测试类

    public class Test {
    public static void main(String[] args) {
    Cat cat = new Cat();
    cat.shout();
    }
    }

    结果

     

     

     向上转型

    父类引用指向子类对象

    格式:父类类名 对象名 = new 子类类名;

     

  • 相关阅读:
    shell脚本中getopt介绍
    【Spring MVC】Spring MVC中的跨域概念名词解释.md
    Oracle 数据如何迁移到MySQL 图文详细教程
    如何在 Vue.js 中引入原子设计?
    CICD流水线
    跨模态神经搜索实践VCED 基于Streamlit实现前端页面设计和逻辑
    html5&css&js代码 014 布局框架
    RKMEDIA--VO的使用
    【Hadoop】5、集群运行
    金仓数据库 KingbaseGIS 使用手册(3. KGIS插件安装说明)
  • 原文地址:https://www.cnblogs.com/ssr1/p/16366263.html