从零基础接触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中的方法时,我只写了个空方法继承,里面并没有实现什么,这样也是可以的。其中,接口也可以继承接口,这儿接口和抽象类有几点区别大家要继承,抽象类智能单个继承,接口可以多个继承,抽象类中可以有实现的方法,接口中不能有,抽象类中可以有不用继承的方法,接口中的方法必须全部继承。关于这些知识点到这儿也差不多了,希望大家下去多玩玩,后期运用非常之多。

0 0