Java, just a language (三)
2015-06-22 16:52
483 查看
Java, just a language (三)
by 梦中浮云
!声明:如果您有意愿转载本文,请在文章醒目位置注明原文链接。
这一篇是本系列的最后一部分了,写到这里已经到了类的外围,让我们一起来结束这场探索。
其实,细心的读者会发现,我在第二部分结尾的故事里留了一个坑。哺乳纲伙食部的菜谱是空的!好吧,如果你忘了那个故事,就请前往第二部分看一遍。
本着存在即合理的原则,我们来检验一下,空菜谱是否合理。哺乳纲势力是由三大军团组成的,所以哺乳纲这个组织是不真实存在的,仅仅是个名号。哺乳纲有战斗的方法,有防御的方法,有做饭的方法,但都是只挂个名字。到了上战场的时候,调用三大军团自己的战斗方法来开展战役就行了。
我们前面提到过,继承就是公共的放在父类,独有的放在子类。如果没有公共的,那父类里面就是空的了。细化到方法的层面,子类有着名字相同的方法,但是内容完全不同,这时父类就只能有个同名的空方法了。给这种方法起个名字,就是抽象方法。方法都是抽象的了,方法所在的类自然就叫做抽象类。注意了,一个类里面只要有一个抽象方法,它就必须被声明为抽象的。
类的抽象与否有一个专门的关键字表示,abstract。但方法就不需要了,根据抽象方法的定义,我们不写方法体就是了,也就是没有{…}这一部分。
抽象类是不能被实例化的,地球上是不存在灵长目这个动物的。
抽象类的抽象方法必须在其某级子类中实现。反过来想这个问题,所有的子类中都没用到这个方法,要之何用?既然父类里声明了它,那么在子类中就应当去实现它。你已经以哺乳纲的名义宣战了,结果下面的军团都不会战斗,这是多么搞笑的事。
接口:一个不是类的无比完全的抽象类。
如果一个抽象类里面的方法全都是抽象方法,那他应该被冠以接口之名。接口也有一个关键字,interface。记住,它和class是同级别的。
唉,我想我有必要剖析一下,什么叫全都是抽象方法?我们知道,类里面有一个叫做构造函数的存在,这东西其实也是方法。全部都是抽象方法,自然也包括了构造函数。谨记,接口是没有构造函数的。
接口没有构造函数,我们自然就无法继承它了,所以多了一个实现的概念,关键字为implements。使用方法和extends是一样的。
类有一个封装的特性,本文不打算讲了。所以,本系列也就到此结束了。第一次接触Java的朋友,不用为了它看似复杂的内容而犯愁。找到了脉络,一切都会显得那么简单。
Java,just a language!
by 梦中浮云
!声明:如果您有意愿转载本文,请在文章醒目位置注明原文链接。
这一篇是本系列的最后一部分了,写到这里已经到了类的外围,让我们一起来结束这场探索。
其实,细心的读者会发现,我在第二部分结尾的故事里留了一个坑。哺乳纲伙食部的菜谱是空的!好吧,如果你忘了那个故事,就请前往第二部分看一遍。
本着存在即合理的原则,我们来检验一下,空菜谱是否合理。哺乳纲势力是由三大军团组成的,所以哺乳纲这个组织是不真实存在的,仅仅是个名号。哺乳纲有战斗的方法,有防御的方法,有做饭的方法,但都是只挂个名字。到了上战场的时候,调用三大军团自己的战斗方法来开展战役就行了。
我们前面提到过,继承就是公共的放在父类,独有的放在子类。如果没有公共的,那父类里面就是空的了。细化到方法的层面,子类有着名字相同的方法,但是内容完全不同,这时父类就只能有个同名的空方法了。给这种方法起个名字,就是抽象方法。方法都是抽象的了,方法所在的类自然就叫做抽象类。注意了,一个类里面只要有一个抽象方法,它就必须被声明为抽象的。
类的抽象与否有一个专门的关键字表示,abstract。但方法就不需要了,根据抽象方法的定义,我们不写方法体就是了,也就是没有{…}这一部分。
抽象类是不能被实例化的,地球上是不存在灵长目这个动物的。
抽象类的抽象方法必须在其某级子类中实现。反过来想这个问题,所有的子类中都没用到这个方法,要之何用?既然父类里声明了它,那么在子类中就应当去实现它。你已经以哺乳纲的名义宣战了,结果下面的军团都不会战斗,这是多么搞笑的事。
接口:一个不是类的无比完全的抽象类。
如果一个抽象类里面的方法全都是抽象方法,那他应该被冠以接口之名。接口也有一个关键字,interface。记住,它和class是同级别的。
唉,我想我有必要剖析一下,什么叫全都是抽象方法?我们知道,类里面有一个叫做构造函数的存在,这东西其实也是方法。全部都是抽象方法,自然也包括了构造函数。谨记,接口是没有构造函数的。
接口没有构造函数,我们自然就无法继承它了,所以多了一个实现的概念,关键字为implements。使用方法和extends是一样的。
类有一个封装的特性,本文不打算讲了。所以,本系列也就到此结束了。第一次接触Java的朋友,不用为了它看似复杂的内容而犯愁。找到了脉络,一切都会显得那么简单。
Java,just a language!
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统