一个标准的java接口写法是怎样的?java对外接口怎么写?

TheDisguiser 2020-05-30 15:36:19 java常见问答 3662

在java中,接口是一切实现方法的来源,任何实现都离开不了接口,那么,一个标准的java接口写法是怎样的呢?下面,就让小编带你一起了解一下吧。

(一)接口

1、什么是接口。

接口就是一些方法特征的集合。一些功能的定义。

比如:能被打开,能被关闭,这是定义了一些功能。把这些功能放在一起,我们称它为接口。

(可以理解为一种特殊的抽象类,当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示)

(二)接口的特点:

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 = Fuxi.new Bird();
        bird.run();
        Fish fish = Fuxi.new Fish();
        fish.run();
    }
}

以上就是java接口的所有内容了,想了解更多相关java入门知识,快请一直关注我们的网站吧。

推荐阅读:

java接口的作用是什么?接口的使用规范介绍

java接口怎么写?java如何编写接口?

抽象类和接口的区别是什么?有什么区别?