继承是软件开发中实现代码复用的有效手段,如果一个类A继承了类B那么类B中的public、protected及默认修饰符修饰的实例成员或静态成员将被类A继承,也可以说类B的成员就是类A的成员而类A在此基础上还可以扩展新的成员。

如果两个类(类A和类B)存在相同的成员则可以抽象出它们的父类(将两个类的相同成员放在父类)类C,从而实现代码的复用。

语法:

1 //类c
2 public abstract Animal{
3 public static String Color;//静态成员
4 public String Name;//实例成员
5 public void Eat(string fool)//实现吃的方法
6 {
7 System.Out.Println("我在吃"+fool);
8 }
9 }
10 //类A
11 public Cat extends Animal{
12 //类A继承类C
13 }
14 //类B
15 public Dog extends Animal{
16 //类B继承类C
17 }

  从上面的例子中类A和类B都继承了类C所以这两个类中都有Color和Name以及吃的方法。但是狗会咬人所以我们可以再类B中定义一个的方法

 1 public Dog extends Animal{
2 //类A继承类C
3 public void EatPerson(){
4 System.Out.Println("我会咬人")
5 }
6 }

  如果有一个动物它不吃别的东西它只吃鱼那我们可以覆盖父类的Eat()方法

1 public Cate extends Animal{
2 public void Eat(String fool)
3 {
4 if(fool.Equals("鱼")){
5 System.Out.Println("我在吃鱼");
6 }else{
7 System.Out.Println("我只吃鱼!赶快拿走");
8
9 }
10 }
11 }

  

使用继承的注意点:

继承时继承的级层最好不要超过三层因为继承的层级如果超过三层则会使程序变的复杂,不易于维护

在使用继承是不要滥用。不可以属性值来扩展子类。

继承的缺点:打破封装,是父类的内部实现完全暴露给子类。

最新文章

  1. Thinking in Java——笔记(12)
  2. kendo chart label position 图表的值标签位置及显示模板
  3. RabbitMQ安装后不能运行 Error: unable to connect to node nodedown
  4. 安装Arch Linux
  5. uC/OS-II源码分析
  6. poj2891 拓展欧几里得
  7. class dict
  8. 【转】Android中visibility属性VISIBLE、INVISIBLE、GONE的区别
  9. 《python参考手册(第四版)》【PDF】下载
  10. java~使用自己的maven本地仓库
  11. Mysql出现(10061)错误提示的暴力解决办法
  12. web前端(6)—— 标签的属性,分类,嵌套
  13. Katy Perry - E.T.
  14. 元素 'beans' 必须不含字符 [子级], 因为该类型的内容类型为“仅元素”;Syntax error on token "Invalid Character";Server returned HTTP response code: 503 for URL;
  15. 每天CSS学习之transform
  16. 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
  17. leetCode 题解之字符串中第一个不重复出现的字符
  18. Security Permissions Caching
  19. 21.Decorator修饰器
  20. 师傅领进门之6步教你跑通一个AI程序!

热门文章

  1. PHP 的源码编译安装
  2. pandas 入门(3)
  3. JavaScript求两点之间相对于Y轴的顺时针旋转角度
  4. 转载Django 500,404,400错误修改优化
  5. Hibernate入门4
  6. [Python3] 016 字典:给我一块硬盘,我可以写尽天下!
  7. Cocos Creator-TypeScript与JS快速过渡
  8. C Yuhao and a Parenthesis
  9. Elasticsearch7.X 入门学习第三课笔记----search api学习(URI Search)
  10. 数据分析之pandas(1)