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 案例一运行结果
- 🍒🍒结果:
💻 结语
🍻🍻到这我们的任务就结束啦!!!🌝
感谢大家的阅读 如果在内容方面有什么问题的话可以
在评论区或私信告诉我吧
博主小要求🙏🙏 如果这段对大家有用的话 就给博主
一个免费的点赞👍+评论✉️ +收藏💻吧!!!
感谢大家啦💙💙💙
- 点赞
- 收藏
- 关注作者
评论(0)