java基础之继承
继之前的封装过后,今天我们来谈谈继承.

喏....这就是继承了 ○( ^皿^)っHiahia… ...开个玩笑
我来简述一下继承..其实继承..就是变相的抄袭而已.抄袭..没错,就是抄袭..下面我给大家解释一下什么是抄袭..哦不,,什么是继承.....嘿嘿
我先举个列子: 假如B要继承(抄袭)A的东西(属性,方法),那么B该怎么(继承)抄袭呢..当然是使用extends关键字啦..

没错,上图的意思就是B继承A的属性以及方法..形象点就是B抄袭A.当然了我并没有添加什么东西.这样的继承(抄袭)是没有意义的.那么,让我们往A里面添加一点东西看看.

我往A类里面添加了一些属性以及方法.根据我们上面提到的.B在抄袭(extends)A 那么B类里面是不是也应该有A类的属性和方法呢,看下图..

看到了吧..我没有在B里面定义任何东西.我new了一个B之后,直接就可以使用A类的属性和方法..是不是很好玩..我说的对吧.继承跟抄袭其实就是同义词的.... 手动滑稽.
当然了,继承不只是抄袭而已.想象一下.如果在生活中.你打算抄袭别人的作业.请问你是打算直接就照搬呢.还是边修改边抄袭(俗称'借鉴')呢..
接下来我们就简单的修改下我们抄袭的内容..O(∩_∩)O哈哈~ 比如..我们把copy的方法修改下..请看下图.

发现没,我在B里面重新定义了一下A的copy方法(就是抄袭的时候修改了部分数据),然后我们在调用一下这个方法.b.copy()是不是发现结果从A类的copy方法变成了B类的copy方法了啊.
其中原理很简单,就是B类的copy方法覆盖了A类的copy方法..所以调用b.copy的时候输出的是B类里面的copy方法.
还有一点就是..B类方法覆盖A类方法的这个动作在JAVA中被称为 复写
这里需要注意一点的地方就是.方法参数的类型一定要一样,,否则..咳咳

要不然..哼哼 你就没有达到复写的目的,应该发现了吧..最后打印出来的仍然是A类的copy方法.
B抄袭A,所以说,A是父类,B是子类....这个我不用解释了
还要注意的就是.java不支持多继承(自己百度为什么不支持) 但是支持多重继承 看下图

就是说继承的时候只能继承一个.多重继承就是..下图

好了,继承的概念说的差不多了..我接下来说一些继承的用处.
假如说,你写了一个项目,然后突然有一天,你发现需要修改一些方法,以及添加一些新的功能在项目中..你总不可能吧之前写的东西全部删除了吧..如果你那么做..相信我,那绝对是一个灾难.
那么,我们究竟该怎么做呢..没错..就是继承.继承的过程中不是允许我们复写吗?我们只需要创建一个新的类复写掉之前的方法,然后在添加一些新的方法就OK了嘛.就算出了什么问题,我们直接不管这个类就OK了嘛..我举个例..请看图

而如果后悔修改的时候,我们只需要将子类的东西注释掉或者删除就OK了.安全不..靠谱不..○( ^皿^)っHiahia…
继承的基本使用方法我就先说到这里了..明天再继续更新.
浙公网安备 33010602011771号