首页 > 其他分享 >1. 继承的学习和使用

1. 继承的学习和使用

时间:2023-03-21 21:13:55浏览次数:40  
标签:String 继承 子类 age 学习 color 使用 父类 public

继承的学习和使用

继承概述
  • 继承是面向对象三大特性之一(封装, 继承, 多态)
  • 继承使子类拥有父类的属性和方法, 并且可以定义自己独有的属性和方法
继承的格式

关键字:extends

public class 子类名 extends 父类名{ }

示例

父类Animal类

public class Animal {
    private String color;
    private int age;

    public void eat(String something) {
    }

    public Animal() {
    }

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

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public int getAge() {
        return age;
    }

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

子类Dog类

public class Dog extends Animal {
    private String name;

    public Dog() {
    }
    
    public Dog(String color, int age, String name) {
        super(color, age);
        this.name = name;
    }

    public void lookHome() {
        System.out.println(super.getColor()+"狗在看家");
    }

    @Override
    public void eat(String something) {
        System.out.println("狗吃" + something);
    }
}

以上例子中的知识点

  1. 子类的构造函数中,第一句程序默认会调用父类的无参构造方法,用 super()表示。因为子类继承父类的数据,就必须先对父类的数据初始化。
  2. 子类调用并重写了父类的方法 eat(),可以根据子类的特点,写自己的内容,也可以不重写,直接使用父类的方法。
  3. 子类定义了自己特有的方法 lookHome(),和特有的属性 name
继承的使用场景和优劣
  • 当有两个类 A和B,且A是B的 一部分,就可以让A继承B,例如狗和动物,香蕉和水果,学生和人。
  • 优点:简化代码。提高代码复用性和维护性
  • 缺点:类与类之间产生了联系,耦合性增加,父类变化会导致子类跟着变化
注意事项
  • java类中只支持单继承,不支持多继承,但可以支持多层继承,例如:孙子 extends 爸爸 extends 爷爷。

标签:String,继承,子类,age,学习,color,使用,父类,public
From: https://www.cnblogs.com/qifenku/p/17233543.html

相关文章

  • 6-1 使用函数输出指定范围内Fibonacci数的个数
    本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m<n≤100000)之间的所有Fibonacci数的数目。所谓Fibonacci数列就是满足任一项数字是......
  • 算法学习
    算法    排序        选择            找到最小的index,然后再交换        冒泡            一直在换位置      ......
  • 使用SQL语句实现最短路线问题
    今天学习了一种直接用sql语句实现查询最短路径的方法,为我们的系统开发提供了便利。Stringsql="WITHRECURSIVEtransfer(start_station,stop_station,stops,path)......
  • [学习笔记] CDQ分治
    引入-分治分治,就是将讲原问题不断细分直到规模小到能够解决,然后一层层向上合并得到答案的过程。归并排序大致思想:把序列拆成左右两部分,分别归并排序,然后使用两个指针......
  • 【Visual Leak Detector】在 QT 中使用 VLD(方式二)
    说明使用VLD内存泄漏检测工具辅助开发时整理的学习笔记。目录说明1.使用前的准备2.在QT中使用VLD2.1在项目.pro文件中指明路径2.2在main.cpp文件中添加头文......
  • 学习记录:day03笔记
    一、数据类型为什么要对数据进行分类?1、现实中的数据就是自带类别属性的2、对数据进行分类可以节约内存存储空间、提高运行速度存储空间的单位:Bit比特存储1个......
  • 学习记录:day04笔记
    一、for循环语句循环:就是一种让代码反复执行的方式,从而达到想要的效果for循环一般会使用一个变量来引导循环的进行,这一变量叫做该循环的循环变量iindexfor循环的变......
  • 学习记录:day05笔记
    一、数组什么是数组:变量的组合,是一种批量定义相同类型变量的方式定义:类型名数组名[数量];intarr[5];注意:数组的内存空间是连续分配的,且数组的长度一旦确定就无......
  • 学习记录:day06笔记
    一、Window下获取方向键1、导入头文件#include<conio.h>2、通过getch()获取键盘上的键值上:72下:80左:75右:77 二、Linux下获取方向键:1、在Window中把getch.h文......
  • 学习记录:day07笔记
    进制转换1、为什么使用二进制、八进制、十六进制?因为目前CPU只能识别高低两种电平,只能对二进制数据进行计算二进制虽然能够直接别计算机识别但是不方便人去书写和记......