JAVA入门知识点+案例介绍(第十四集)

举报
迈热 发表于 2022/04/28 19:12:49 2022/04/28
【摘要】 JAVA入门知识点+案例介绍(第十四集)

📋个人简介

📜个人简介 :
🎅 作者简介:大家好,我是迈热✌️
🌝 支持一下:点赞👍+收藏🌟+留言📪
📣 系列专栏:java基础🍁
✉️格言:先把键盘敲烂再说💻往死里敲!🌞

🌞学习前的小唠叨

🌈🌈哈喽 兄弟萌! 我们都在想成为大佬的路上加油着👍
既然我们已经踏入了学习这一长路, 那么就把它做的让
自己满意为止💜 加油兄弟萌!!!!😝

在这里插入图片描述

@[TOC](目录)

🍄 前言

🍊这一期我们来学习有关继承的知识点和案例🍊

🐳JAVA中的子类与继承

🌱🌱求职者在介绍自己的基本情况时不必“从头说起”,例如不必介绍自己所具有的人的一般属性等,因为人们已经知道求职者肯定是一一个人,已经具有了人的般属性,求职者只要介绍自己独有的属性就可以了。当我们准备编写.个类的时候,发现某个类有所需要的成员变量和方法,如果想复用这个类中的成员变量和方法,即在所编写的类中不用声明成员变量就相当于有了这个成员变量,不用定义方法就相当于有了这个方法,那么可以将编写的类定义为这个类的子类,子类可以让我们不必一切“从头做起”。继承是一种由己有的类创建新类的机制。利用继承,可以先定义-个共有属性的-般类,根据该-般类再定义具有特殊属性的子类,子类继承一般类的属性和行为,并根据需要增加它自己的新的属性和行为。由继承得到的类称为子类,被继承的类称为父类(超类)。需要读者特别注意的是(尤其是学习过C++的读者)Java不支持多重继承,即子类只能有一个父类。人们习惯地称子类与父类的关系是“is-a”关系。

💦1.1 继承中构造方法的访问特点

  • 🍒🍒 在类的声明中,通过使用关键字extends来定义一个类的子类,格式如下:
class 子类名 extends 父类名{
....
}
  • 🍒🍒 例如:
class Cat extends Animal{
....
}
  • ⬆️把Cat类定义为Animal类的子类,Animal类是Cat类的父类(超类)。

💦1.2 继承中成员方法的访问特点

  • 🍒🍒 子类可以有父类的内容
  • 🍒🍒 子类还可以有自己特有的内容

💦1.4 继承的好处与弊端

  • 💬 继承好处
    • 🍒🍒 提高了代码的复用性(多个类相同的成员可以放到同一个类中)
    • 🍒🍒 提高了代码的维护性(如果方法的代码需要修改,修改一处即可)
  • 💬 继承弊端
    • 🍒🍒继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性
  • 💬 什么时候使用继承?
    • 🍒🍒 继承体现的关系:is a(什么是什么的一种)。
    • 🍒🍒 假设法:我有两个类A和B,如果他们满足A是B的一种,或者B是A的一种,就说明他们存在继承关系,这个时候就可以考虑使用继承来实现,否则就不能滥用继承。
    • 🍒🍒 例如:香蕉和水果,猫和动物。

💦1.5 继承中变量的访问特点

  • 💬 在子类方法中访问一个变量
    • 🍒🍒 子类局部范围找(也就是在方法内部找,如果方法内部没有⬇️)
    • 🍒🍒 子类成员范围找(如果在成员范围没有⬇️)
    • 🍒🍒 父类成员范围找(如父类成员范围没有⬇️)
    • 如果都没有就会报错(不考虑父亲的父亲…)

💦1.6 super

  • 💬 super 关键字的用法和this关键字的用法相似
    • 🍒🍒 this:代表本类对象的引用(this关键字指向调用该方法的对象,一般我们是在当前类类中使用this关键字,所以我们常说this代表本类对象的引用)
    • 🍒🍒 super:代表父类存储空间的标识(可以理解为父类对象的引用)
关键字 访问成员变量 访问构造方法 访问成员方法
this this.成员变量 访问本类的成员变量 this(…) 访问本类构造方法 this.成员方法(…) 访问本类成员方法
super super.成员变量 访问父类的成员变量 super(…) 访问父类构造方法 super.成员方法(…) 访问父类成员方法

💦1.7 类的树形结构

  • 🍒🍒 如果C是B的子类,B又是A的子类,习惯上称C是A的子孙类。Java的类按继承关系形成树形结构(将类看作树上的结点),在这个树形结构中,根结点是Object类(Object是java.lang包中的类),即Object是所有类的祖先类。任何类都是Object类的子孙类,每个类(除了Object类)有且仅有一个父类,一个类可以有多个或零个子类。如果一个类(除了Objet类)的声明中没有使用extends关键字,这个类被系统默认为Obje的子类,即类声明“class A”与“class A extends Object"是等同的。

🐳案例一:根据上述所学内容完成要求

学完上述内容之后我们用一个小案例来总结一下上述内容吧!!

💦1.1 案例一需求

  • 🍒🍒案例需求:定义一个父类,一个子类,一个测试类

    • 🍒 在父类中定义一个age值为40;
    • 🍒 在子类中定义一个age值为20;再定义一个成员方法show,在成员方法里面再定义一个局部变量age,值为30;再输出age;
    • 🍒 在测试类里面创建子类对象,调用show方法
    • 🍒 在测试类中访问本类中成员变量age;
    • 🍒 在测试类中访问父类成员变量age;

💦1.2 案例一代码演示

  • 🍒🍒代码:
//父类
public class Fu {
    public int age=40;
}
//子类
public class Zi extends Fu {
    public int age = 20;

    public void show() {
        int age = 20;
        System.out.println(age);//访问成员方法内的对象
        System.out.println(this.age);//访问本类中的对象
        System.out.println(super.age);//访问父类中的成员变量
    }
}
//测试类
public class Demo {
    public static void main(String[] args) {
        Zi z=new Zi();
        z.show();
    }
}

💦1.3 案例一运行结果

  • 🍒🍒结果:

在这里插入图片描述

💻 结语

🍻🍻到这我们的任务就结束啦!!!🌝
感谢大家的阅读 如果在内容方面有什么问题的话可以
在评论区或私信告诉我吧
博主小要求🙏🙏 如果这段对大家有用的话 就给博主
一个免费的点赞👍+评论✉️ +收藏💻吧!!!
感谢大家啦💙💙💙

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。