java继承的作用_Java继承概述以及Java继承案例和继承的好处

Java继承概述

1.多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些相同属性和行为,只要继承那个类即可。

2.在Java中通过extends关键字可以实现类与类的继承。

例如:class 子类名 extends 父类名 {}

3.单独的这个类称为父类,基类或者超类;这多个类可以称为子类或者派生类。

4.有了继承以后,我们定义一个类的时候,可以在一个已经存在的类的基础上,还可以定义自己的新成员。

-----------------------------------------------------------------------------

首先我来写两个代码:

//定义学生类

class Student {

String name;

int age;

public Student() {}

//getXxx()/setXxx()

public void eat() {

System.out.println("吃饭");

}

}

//定义老师类

class Teacher {

String name;

int age;

public Teacher() {}

//getXxx()/setXxx()

public void eat() {

System.out.println("吃饭");

}

}

我们观察上面两个代码:

发现name,age成员变量,以及getXxx()/setXxx(),还有eat()等都是相同的。

如果我们后来继续定义类,举例:工人类,军人类。他们是不是也具备这些内容呢?

那么,我们每一次定义这样的类的时候,都要把这些重复的内容都重新定义一遍。

麻烦不?当然麻烦。所以,我们要考虑改进?

那么如何改进呢?

我这想的:我能不能把这些相同的内容给定义到一个独立的类中。

然后,让这多个类和这个独立的类产生一个关系,有了这个关系后,

这多个类就可以具备这个独立的类的功能。

为了实现这个效果,Java就提供了一个技术:继承。

父亲:

4个儿子

继承怎么表示呢?继承的格式是什么样子的呢?

class Fu {}

class Zi extends Fu {

}

我们就回头修改我们的代码:

class Person {

String name;

int age;

public Person() {}

//getXxx()/setXxx()

public void eat() {

System.out.println("吃饭");

}

}

class Student extends Person {

public Student() {}

}

class Teacher extends Person {

public Teacher() {}

}

-----------------------------------------------------------------------------

Java继承案例和继承的好处

1 /*

2 继承概述:3 把多个类中相同的内容给提取出来定义到一个类中。4

5 如何实现继承呢?6 Java提供了关键字:extends7

8 格式:9 class 子类名 extends 父类名 {}10

11 好处:12 A:提高了代码的复用性。13 B:提高了代码的维护性。14 C:让类与类之间产生了关系,是多态的前提。15

16 类与类之间产生了关系,其实也是继承的一个弊端:17 类的耦合性增强了。18

19 开发的原则:低耦合,高内聚。20 耦合:类与类之间的关系。21 内聚:就是自己完成某件事情的能力。22 */

23

24 //使用继承前

25 /*

26 class Student {27 public void eat() {28 System.out.println("吃饭");29 }30

31 public void sleep() {32 System.out.println("睡觉");33 }34 }35

36 class Teacher {37 public void eat() {38 System.out.println("吃饭");39 }40

41 public void sleep() {42 System.out.println("睡觉");43 }44 }45 */

46

47 //使用继承后

48 classPerson {49 public voideat() {50 System.out.println("吃饭");51 }52

53 public voidsleep() {54 System.out.println("睡觉");55 }56 }57

58 class Student extendsPerson {}59

60 class Teacher extendsPerson {}61

62 classExtendsDemo {63 public static voidmain(String[] args) {64 Student s = newStudent();65 s.eat();66 s.sleep();67 System.out.println("-------------");68

69 Teacher t = newTeacher();70 t.eat();71 t.sleep();72 }73 }我的GitHub地址:https://github.com/heizemingjun

我的博客园地址:http://www.cnblogs.com/chenmingjun

我的蚂蚁笔记博客地址:http://blog.leanote.com/chenmingjun

Copyright ©2018 黑泽明军

【转载文章务必保留出处和署名,谢谢!】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值