从零基础接触java第六周第一节
来源:互联网 发布:大学网络课程网站 编辑:程序博客网 时间:2024/05/21 20:25
上一节跟大家分享了抽象类,并且说了子类对于父类的继承,这次跟大家分享两个东西,一个是多态,一个是接口。
首先我跟家分享一下接口,然后由接口引入多态。首先要说的是,接口的关键字是interface,然后interface后面直接接口名,接口里面的方法必须是共有的抽象方法,并且里面的方法都不能被实现,所以这样我们一般命名接口时可以直接void+方法名,因为里面默认会给我们加上public和abstract。那么接下来我就写一个列子与大家分享分享:
interface A{
int i = 1;
void pln();
}
class B implements A{
public void pln() {
System.out.println(i);
}
}
大家可以看到,我们的interface后面直接跟了接口名A,然后里面定义了一个常量i,接口里不能定义变量,然后写了一个方法pln并且没有实现,然后我用一个类B继承了接口A,接口的继承用implements,并且必须将接口的所有方法实现,这儿由于接口只有一个pln方法,所以我只实现了pln方法,在其中输出了i。最后得出的答案当然是1。这便是接口。
在接口中,我们的接口不能直接被实现,必须通过子类实现,所以一般我们在其他方法调用时可以这样写:A a = new B();同过A的实列来new一个B的对象,这就是多态,是不是觉得突如其来,还很简单,而且想问为什么不直接通过B直接调用,哈哈,关于这些,大家以后就会发现,这儿只是为了跟大家讲一下,所谓高档的多态是什么而已,在后期应用也非常大,比如设计模式中,就会用到多态。
面对接口和多态其实讲得差不多了,但是还有几点,接口可以多继承,比如以下代码:
interface A{
int i = 1;
void pln();
}
interface C{
void pln1();
}
class B implements A,C{
public void pln() {
System.out.println(i);
}
public void pln1() {
}
}
请看以上代码,我有接口A和接口C,然后用B继承了两个接口,同时实现了两个接口中的方法,大家可以看到,当我B继承了C中的方法时,我只写了个空方法继承,里面并没有实现什么,这样也是可以的。其中,接口也可以继承接口,这儿接口和抽象类有几点区别大家要继承,抽象类智能单个继承,接口可以多个继承,抽象类中可以有实现的方法,接口中不能有,抽象类中可以有不用继承的方法,接口中的方法必须全部继承。关于这些知识点到这儿也差不多了,希望大家下去多玩玩,后期运用非常之多。
- 从零基础接触java第六周第一节
- 从零基础接触java第二周第一节
- 从零基础接触java第五周第一节
- 从零基础接触java第七周第一节
- 从零基础接触java第六周第二节
- 从零基础接触java第六周第三节
- 从零基础接触java第六周第四节
- 从零基础接触java第四周第一节
- 从零基础接触java第九章第一节
- 从零基础接触java第三周
- 从零基础接触java第二周第二节
- 从零基础接触java第五周第二节
- 从零基础接触java第五周第三节
- 从零基础接触java第五周第五节
- 从零基础接触java第七周第二节
- 从零基础接触java第七周第三节
- 从零基础接触java第七周第四节
- 从零基础接触java第八周结一节
- jQuery源码研究分析学习笔记-jQuery.deferred()(12)
- POJ2635——The Embarrassed Cryptographer
- Redis入门很简单之一【简介与环境搭建】
- Redis入门很简单之二【常见操作命令】
- uva11732 "strcmp()" Anyone?
- 从零基础接触java第六周第一节
- dp/dip和dx,dpi
- Redis入门很简单之三【常见参数配置】
- maven工程启动出现Spring ContextLoaderListener错误的解决办法
- Linux定时任务crontab命令详解
- Redis入门很简单之四【初识Jedis】
- JS函数(Math)
- Java程序员技术体系
- pat_BL_1014