B.接口中的方法默认访问权限为public
C.接口和抽象类的区别在于接口的方法必须为抽象方法(jdk1.8后)
D.接口也可以继承多个接口。
⭐️目录⭐️
🍅1.什么是接口?
==========
🍄 1.接口基本概念
接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合。接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
如果一个类只由抽象方法和全局常量组成,那么这种情况下不会将其定义为一个抽象类。只会定义为一个接口,所以接口严格的来讲属于一个特殊的类,而这个类里面只有抽象方法和全局常量,就连构造方法也没有。
🍄 2.定义接口的格式
public interface A {//定义一个接口
public static final String name=“hello”;//这里即使不写static final也会被默认加上,全局常量
abstract void test();//抽象方法
}
🍄 3.实现接口的格式
===================
class B implements A{
@Override
public void test() {
System.out.println(“重写了接口A的test方法”);
System.out.println(name);//继承了常量name
}
}
🍅2.为什么要有接口?
============
我们都知道,Java语言是单继承多实现的语言。因为只能每个类只能继承一次,所以继承是非常宝贵的,如果可以用接口就能实现的,我们尽量不使用继承来获得 ,因为每个类都可以实现多个接口。这里不细究到底什么时候使用接口什么时候使用抽象类。抽象类一般是将多个类共有的属性抽取出来,接口一般是给某个类实现额外特定的功能,比如经理和工人都是为老板服务的,但经理却在年底有奖金分成,这时我们就可以给可以给经理实现一个包含获得奖金方法的接口。接口还可以帮助我们完成代码的解耦。
建议先观看我的抽象类文章:【JavaSE基础】深入学习和掌握抽象类,了解易错知识点
🍅3.接口的性质和使用
============
🍈1.接口之间的多实现
接口也是可以多实现接口的,比如Java的集合类中的List和Map接口,都是实现了我们的Collection接口,可以实现一个也可以实现多个,因为接口本来就是被运行多实现的。我们通常也可以类似像继承的概念将它们称之为父接口和子接口。但是要注意,接口实现接口时用的是extends关键字而不是implements
public interface A {//定义一个接口A
}
interface C{//定义一个接口B
}
interface B extends A,C {//接口C继承A和B接口,
//B接口将继承A,C接口的属性和方法
}
🍈2.接口的子类(不是抽象类),必须重写接口的全部方法
我们知道,接口中的方法一般都是抽象方法(因为在jdk1.8中已经允许接口存在静态方法)。当一个类实现一个接口时,意味者它获得了这个接口的所有的抽象方法,如果我们不把所有的抽象方法重写,那么这个类就必须得变为抽象类(**因为包含抽象方法的类一定是抽象类)。**所以一般我们实现接口后,需要将这个接口的所有方法进行重写。
public interface A {//定义一个接口A
void test1();//抽象方法test1 接口中的方法默认都是抽象方法
void test2();//抽象方法test2
}
class B implements A {//类B实现了A接口
//必须将A接口所有方法重写,否则B类将变为抽象类
@Override
public void test1() {
System.out.println(“重写test1方法”);
}
@Override
public void test2() {
System.out.println(“重写test2方法”);
}
}
🍈2.接口不可以直接实例化
读者福利
由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴
更多笔记分享
找小编(vip1024c)领取
.接口不可以直接实例化
读者福利
由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴
[外链图片转存中…(img-dYKpMJ9u-1721722607792)]
[外链图片转存中…(img-bU0nUVMy-1721722607793)]
[外链图片转存中…(img-QfNVI0OR-1721722607793)]
更多笔记分享
[外链图片转存中…(img-9zeo3uds-1721722607794)]
找小编(vip1024c)领取