⼀个标准的java接⼝写法是怎样的?java对外接⼝怎么
写?
在java中,接⼝是⼀切实现⽅法的来源,任何实现都离开不了接⼝,那么,⼀个标准的java接⼝写法是怎样的呢?下⾯,就让⼩编带你⼀起了解⼀下吧。
(⼀)接⼝
1、什么是接⼝。
接⼝就是⼀些⽅法特征的集合。⼀些功能的定义。
⽐如:能被打开,能被关闭,这是定义了⼀些功能。把这些功能放在⼀起,我们称它为接⼝。
java接口有没有构造方法(可以理解为⼀种特殊的抽象类,当抽象类中的⽅法都是抽象的,那么该类可以通过接⼝的形式来表⽰)
(⼆)接⼝的特点:
1、接⼝⾥⾯的⽅法不能有实现(规范,标准)(像是PCI插槽⼀样),⽽且必须是public的,由实现它的类去实现(如果是private的话,那么⼦类就看不见,那么怎么去实现)
2. 接⼝不能实例化,只能⽤来充当⼦类的规则模版
3、接⼝中的⽅法默认为public,abstract,任何实现了接⼝的类必须重写接⼝的所有⽅法,不能少(否则当前类需要修饰为抽象类);
3、多个⽆关的类可以实现同⼀接⼝;(⼀个⽗类有多个⼦类)
4、⼀个类可以实现多个接⼝(这与单继承不⼀样!);
5、与继承相似,可以实现多态;
6、接⼝之间可以继承,⽽且是多继承;
(三)接⼝与接⼝之间具备扩展的概念
类------extends----->类 (只能继承⼀个类)
接⼝----extends----->接⼝ (可以继承多个)
接⼝---implements--->类 (可以实现多个接⼝)
(四)接⼝与抽象类的异同
不同点:
(1)抽象类⼀定要有is-a的关系,⽽接⼝没有。
(2)抽象类⾥⾯不⼀定都是抽象⽅法,接⼝⼀定是抽象⽅法
(3)⽗类的⽅法可重写,也可不写。但接⼝中定义的功能,⼦类⼀定要实现。
(4)继承是单继承,但接⼝是多继承,多实现
相同点:
(1)他们都可以定义变量来引⽤⼦类的对象,从⽽实现多态的功能。提⾼代码的可扩展性及维护性。
(2)他们都不能实例化, 但是类可以
优势:
1、抽象类中可以可以为部分⽅法提供默认的实现,从⽽避免在⼦类中重复实现它们,提⾼代码的可重⽤性,这是抽象类的优势所在;⽽接⼝中只能包含抽象⽅法
由于抽象类中允许加⼊具体的⽅法,因此扩展抽象类的功能,即向抽象类中添加⼀个具体的⽅法不会对⼦类造成影响。⽽对于接⼝,⼀旦接⼝公布就必须⾮常稳定,因为随意在接⼝中添加抽象⽅法会影响到所有实现类,这些类要么实现所有新增的⽅法,那么声明为抽象类
2、⼀个类只能继承⼀个直接的⽗类,这个⽗类有可能是抽象类;但⼀个类可以实现多个接⼝,这是接⼝的优势所在
接⼝具体实现:
package fuxi;
/*
(1) 编写Animal接⼝,接⼝中声明run() ⽅法
(2) 定义Bird类和Fish类实现Animal接⼝
(3) 编写Bird类和Fish类的测试程序,并调⽤其中的run()⽅法
*/
public class fuxi
{
public interface Animal
{
void run();
}
class Bird implements Animal
{
public void run()
{
System.out.println("鸟不会游泳");
}
}
class Fish implements Animal
{
public void run()
{
System.out.println("鱼会游泳");
}
}
public fuxi()
{
/
/ TODO Auto-generated constructor stub
System.out.println("⽣成对象时调⽤构造函数");
}
public static void main(String[] args)
{
// TODO Auto-generated method stub
fuxi Fuxi = new fuxi();
Bird bird = w Bird();
bird.run();
Fish fish = w Fish();
fish.run();
}
}
以上就是java接⼝的所有内容了,想了解更多相关Java⼊门知识,请多多关注⼩编哦。最后⼩编在学习过程中整理了⼀些学习资料,可以分享给做软件测试⼯程师的朋友们,相互交流学习,需要的可以加⼊我的学习交流 164549428 或加微dingyu-003即可免费获取Python ⾃动化测开及Java⾃动化测开学习资料(⾥⾯有功能测试、性能测试、python⾃动化、java⾃动化、测试开发、接⼝测试、APP测试等多个知识点的测试资料)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论