1、为什么要继承其他类?
首先我们要搞清楚类里都有什么?
类里包括了属性和行为;
你只要写了属性和行为,那么总有一部分人拥有相同的属性和方法
如:
学生和老师都拥有姓名、年龄、身高、性别等属性;
学生和老师都要吃饭、睡觉、休息等行为;
如果我们每写一个学生类和老师类都要重复定义
姓名、年龄、身高、性别等属性;
吃饭、睡觉、休息等行为;
我们需要一遍一遍的private name、age、high,eat()、sleep()、rest()等
所以我们先写一个类这个包含学生和老师的这些共性
然后我们继承他就可以直接用,不用我们写了。
代码如下:
- class Person{
- private String name;
- private int age;
- private int high;
- public void eat(){
- System.out.println("吃饭");
- }
- public void sleep(){
- System.out.println("睡觉");
- }
- }
- class Student extends Person{
- //这样学生就不用写,就拥有了Person里的属性和行为,
- //简化了代码的书写量和提高了代码的复用性,
- //但是打破了方法的封装性
-
- }
- class Teacher extends Person{
- }
- class Demo3 {
- public static void main(String[] args) {
- Student s = new Student();
- s.eat();
- }
- }
复制代码
2、为什么要有抽象类?
把一个类抽象化,其实主要的功能是不让这个类创建对象,要用这个类里面的属性和行为必须进行覆盖,才能使用,
注:抽象类里面的所有东西都可以用继承来实现,不用纠结为什么要有抽象类这个问题了。
|
|