JAVA初级(八)对象之三大特性:继承(1)继承基础使用和作用

什么是继承?

继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为
—来自菜鸟教程

比如说学生和老师,他们都有人的共同行为,比如说话吃饭啥的–>这个说话吃饭就是人 这个类的行为. 但是他们又各自有自己的行为.学生学习,老师教书.

–>老师类和学生类是子类,他们都继承于人类. 这个人类就是父类

继承如何实现.extends关键字.继承有什么用?

有一个学生类,老师类

//学生类
public class Student {
    public void say(){
        System.out.println("说话");
    }
}
//老师类
public class Teacher {
    public void say(){
        System.out.println("说话");
    }
}

他们都有说话这个行为.然后如果要让他们说话。就执行以下代码。

 public static void main(String[] args) {
        Student student = new Student();
        Teacher teacher = new Teacher();
        student.say();
        teacher.say();
    }
结果输出:说话
		说话

但如果我要改变他们说话的内容.是不是要同时改变两个类里面的内容。然后有100个类。比如程序员类,老板类啥的他们也会说话。那我一下就得改多个地方了。这样就很容易出错或者漏掉

继承就能解决这一个问题
那么继承怎么实现?
在引出一个人类

//人类
public class Human {
    public void say(){
        System.out.println("说话");
    }
}

然后让学生类和老师类继承人类

public class Student extends Human{
}
public class Teacher extends Human{
}

继承就这么写。 public class 类 extends 父类
这个Human就是父类(超类,基类) Student就是子类

然后你在执行一边main方法.他们的结果一样
哎,我明明没在Studeng和Teacher里面写say().为什么还能执行say()?
因为他们继承了Human,他们能够使用父类里面所有的非private修饰的方法

所以继承的第一个作用:能够把多个重复且行为相同的代码整合到一个父类中.实现了代码的重复利用性.

那么人类都会说话.但人类不一定都会教书啊.–>也就是说有的子类除了会父类的行为外,它还会有自己特有的行为
比如这个老师类,他会教书

public class Teacher extends Human{
    public void teach(){
        System.out.println("会教书");
    }
}

然后这样执行

  public static void main(String[] args) {
        Teacher teacher = new Teacher();
        teacher.teach();
        teacher.say();
    }

这样这个老师类不仅会说话还会教书。这个say()方法是人类的.teach()方法是它自己的

继承第二个作用:能够扩充某一个类的功能

继承的作用总的来说就这两个了。可以说我们使用继承的原因就是因为这两个
通俗一点的解释就是
1,要好多个类有相同的代码,这样会造成代码的重复.那么我们造一个父类取装这些相同的代码.然后再去继承这个父类来共用。–>这样的好处就是提升代码重复利用性。减少代码量。
2,扩展一个类的功能,就好比人类,人类会说话,但不一定都会教书.所以我们创造一个会教书的子类来扩展我的功能。–>好处就是方便我们能够根据特定的需要定位到特定的类去进行维护。一个父类要是什么都会.什么代码都往里面塞.那到时候我们修改的时候。看着就害怕

总结:
1,继承如何实现?
使用extends关键字
2,使用继承的原因?
两个,1,提升可重复利用性.减少代码量;
2,扩张功能,方便维护

猜你喜欢

转载自blog.csdn.net/qq_42577241/article/details/84971720
今日推荐