java 接口

接口的概念

接口是功能的集合,接口里不写方法体,只写方法,一切事物都有功能,都有接口。

接口的定义

接口文件还是.java文件,编译后仍是.class文件。

定义时需要interface 关键字,public interface 接口名字(

                抽象方法;

                抽象方法;

              );  

接口的实现类

就是接口的实现功能,实现接口的方法。

关键字implements,类似于继承的功能   public class 名字  implements 接口名(){

                            public void 接口抽象方法名字(){

                            }

                            } 

 

 接口中成员的特点

必须是常量,public static fianl来定义,final:最后的,其值是不能改变的。

接口不可以创建对象,只有接口的实现类可以

例如:

1 package com.oracle.demo01;      
2 
3 public interface jidu{   //创建一个叫缉毒的接口,创建缉毒这个功能接口
4     public abstract void jidu();
5 }
1 package com.oracle.demo01;
2 
3 public abstract class Dog {     //创建一个狗抽象类,2个功能,吃和叫
4     public abstract void eat();
5     public abstract void Roar();
6 }
 1 package com.oracle.demo01;
 2 
 3 public class jidu_dog extends Dog implements jidu{    //创建一个类,继承了狗的方法和属性,又继承了接口的缉毒功能,然后对这2个抽象类重写
 4     public void eat(){
 5         System.out.println("吃狗粮");
 6     }
 7     public void Roar(){
 8         System.out.println("汪汪汪");
 9     }
10     public void jidu(){
11         System.out.println("缉毒");
12     }
13 }

 

接口的多继承

1 package com.oracle.demo01;
2 
3 public interface f1 {
4     public abstract void show();
5 }
1 package com.oracle.demo01;
2 
3 public interface f2 {
4     public abstract void show1();
5 }
package com.oracle.demo01;

public interface f3 {
    public abstract void show2();
}
package com.oracle.demo01;

public interface f4 extends f1,f2,f3{  继承了f1,f2,f3的抽象方法
    public abstract void show3();
}
package com.oracle.demo01;     //ziimp是f4的实现类,但是也把f1-f3的继承了,所有都要重写

public class ziimp implements f4{
    public void show() {
    }
    public void show1() {
    }
    public void show2() {
    }
    public void show3() {
    }
}

抽象类和接口的相同点:

1、都是最顶端,只能被继承

2、都不能实例化对象

3、都包涵抽象方法,子类必须重写方法

抽象类和接口的区别:

1,、抽象类提供部分实现方法,避免子类重写,接口只包涵抽象方法

2、一个子类只能继承一个父类,而一个子类可以继承多个接口,弥补了java的单继承

3、抽象类是事物必须具有的

4、接口是事物额外的功能

 

posted @ 2018-05-18 21:09  鲁系大厨  阅读(122)  评论(0编辑  收藏  举报