从编码中,咱们总是在不知不觉的用继承,明确的调用,或是隐式的调用了java根类object。什么是继承?官方上说,继承是从已有的类中派生出新的
类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。对我来说,继承就像古典音乐,来自音乐,却可有所不同。这就是说,古典音乐 extends
音乐
音乐类:music.java
上面定义了音乐的一些属性成员 和 方法
古典音乐 :classicalmusic.java
上面 古典音乐继承了音乐,通过继承,classicalmusic类叫做衍生类(derived class)。被继承的类music类称为基类(base class)。所描述的关系是“is-a”关系。
使用继承需要记住的几点:
继承可以达到复用代码的方法。这就像一把双刃剑,用的好就好,用的不好就不好。在合适的地方用会更好
子类可以访问基类非private的属性和方法。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SO4YTNzIjMwAjN0gTM4AzLcdDM0EDMy8CX5kDM5ATNvw1ZvxmYvwVbvNmLn9GbiRXauNmLzV2Zh1Wavw1LcpDc0RHaiojIsJye.png)
古典中寻找真谛,正如java继承中吹出古典味
在继承中,this 和 super是常见的关键词,super可以让我们很方便的调用到基类的方法或者构造器。在古典音乐中,我们加入属于他自己的播放方法。
最常见到的代码,就是各个dao层对基类dao层的实现。
对于protected而言,它指明就类用户而言,他是private,但是对于任何继承与此类的子类而言或者其他任何位于同一个包的类而言,他却是可以访问的。在项目中,springmvc controller 的基类中存在对 日志,请求,响应,会话,还有service层的声明。
protected,就像保护着孩子的音乐细胞一样。只能让美好的,特定的音乐去访问。每个人都有每个人独特的品味,就像你mp3,或是手机里的音乐。那个属于你的去访问你音乐的细胞。
is-a 的关系,表示古典音乐是属于音乐。它可以在广义上称为音乐,自然当一个人不懂古典音乐时,他完全可以把它当作音乐就ok了。把古典音乐当成音乐这就是向上转型。 其实我们第一个例子就用到了。