java的接口使用Interface来定义,接口中只能包含静态常量和抽象方法。

1.定义接口并使用

 

定义如下:

 1 package com.example.inte;
 2 
 3 public interface MyInterface {
 4     public static final String NAME = "zhangsan";//public static final 三个关键字都可以省略
 5     int AGE = 14;// 默认公开静态常量
 6 
 7     public abstract void say();//public abstract 两个关键字都可以省略
 8 
 9     // 默认公开抽象方法
10     //jdk1.8 接口默认实现
11     default void eat() {
12         System.out.println("默认eat");
13     }
14 }

注:jdk1.8中,接口的抽象方法可以有默认的实现。

定义实现类:

1 package com.example.inte;
2 
3 public class Impl implements MyInterface {
4     @Override
5     public void say() {
6         // TODO Auto-generated method stub
7         System.out.println("我是:" + this.NAME + ",我今年" + this.AGE + "岁");        
8     }
9 }

测试:

1 package com.example.inte;
2 
3 public class TestInte {
4     public static void main(String[] args) {
5         MyInterface interface1 = new Impl();
6         interface1.eat();//调用默认方法
7         interface1.say();//调用实现类的方法
8     }    
9 }

执行结果为:

默认eat
我是:zhangsan,我今年14岁

 

2.接口与抽象类

相同点:

(1)可编译成字节码文件。

(2)不能创建对象。

(3)可以作为引用类型。

(4)具备Object类型中的方法。

 

不同点:

接口中没有构造方法、动态代码块、静态代码块。

 

接口的定义:代表了某种能力。

方法的定义:能力的具体要求。

 

posted on 2021-02-07 20:25  Sempron2800+  阅读(78)  评论(0编辑  收藏  举报