码迷,mamicode.com
首页 > 编程语言 > 详细

java接口

时间:2015-09-25 11:14:07      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:

一、概念

  接口定义了某一批类所需要遵守的规范,接口只规定类里必须实现的某些方式,但不关注类的内部数据和方法的具体实现;

二、定义

  使用interface关键字定义;

三、语法

  [修饰符] interface 接口名 [extends 父接口1, extends 父接口2]{

    零个到多个常量定义,,,

    零个到多个抽象方法的定义、、、、 

  }

  接口以及接口中的方法默认都是抽象的,如果没写abstract,系统会自动加上;

  接口:public abstract interface

  常量:public static final

  方法:public abstract

  注意:类只能继承一个父类,接口可以继承多个父接口,所以可以使用接口来弥补类的不足;

  接口还经常与匿名内部类配合使用;

四、实例

  

技术分享
 1 package com.inter.demo;
 2 
 3 public class TelPhone {
 4 
 5     //打电话
 6     public void call(){
 7         
 8     }
 9     
10     //发短信
11     public void message(){
12         
13     }
14     
15 }
TelPhone.java
技术分享
 1 package com.inter.demo;
 2 
 3 /**
 4  * 非智能手机类
 5  *
 6  */
 7 public class CellPhone extends TelPhone {
 8 
 9     //打电话
10     @Override
11     public void call() {
12 
13         System.out.println("非智能手机通过键盘打电话!");
14         
15     }
16     
17     /**
18      * 发短信
19      */
20     @Override
21     public void message() {
22 
23         System.out.println("非智能手机通过键盘发短信!");
24     
25     }
26     
27 }
CellPhone.java
技术分享
 1 package com.inter.demo;
 2 
 3 /**
 4  * 游戏接口
 5  *
 6  */
 7 public interface IPlayGame {
 8 
 9     public void playGame();
10     
11 }
IPlayGame
技术分享
 1 package com.inter.demo;
 2 
 3 /**
 4  * 智能手机类
 5  *
 6  */
 7 public class SmartPhone extends TelPhone implements IPlayGame{
 8 
 9     /**
10      * 打电话
11      */
12     @Override
13     public void call() {
14 
15         System.out.println("智能手机通过语音打电话!");
16         
17     }
18     
19     /**
20      * 发短信
21      */
22     @Override
23     public void message() {
24 
25         System.out.println("智能手机通过语音发短信!");
26         
27     }
28 
29     /**
30      * 打游戏
31      */
32     @Override
33     public void playGame() {
34 
35         System.out.println("智能手机具有打游戏的功能!");
36         
37     }
38     
39 }
SmartPhone
技术分享
 1 package com.inter.demo;
 2 
 3 public class Psp implements IPlayGame {
 4 
 5     @Override
 6     public void playGame() {
 7 
 8         System.out.println("PSP是一部专业游戏机!");
 9         
10     }
11 
12 }
Psp.java
技术分享
 1 package com.inter.demo;
 2 
 3 /**
 4  * 测试类
 5  *
 6  */
 7 public class Initail {
 8 
 9     public static void main(String[] args) {
10         
11         TelPhone p1 = new CellPhone();
12         p1.call();
13         p1.message();
14         System.out.println("--------------------------");
15         
16         TelPhone p2 = new SmartPhone();
17         p2.call();
18         p2.call();
19         System.out.println("--------------------------");
20         
21         IPlayGame i1 = new SmartPhone();
22         i1.playGame();
23         System.out.println("--------------------------");
24         
25         IPlayGame i2 = new Psp();
26         i2.playGame();
27         System.out.println("--------------------------");
28         
29         IPlayGame i3 = new IPlayGame() {
30             
31             @Override
32             public void playGame() {
33 
34                 System.out.println("使用匿名内部类的方式1实现接口!");
35                 
36             }
37         };
38         i3.playGame();
39         System.out.println("--------------------------");
40         
41         new IPlayGame() {
42             
43             @Override
44             public void playGame() {
45 
46                 System.out.println("使用匿名内部类的方式2实现接口!");
47                 
48             }
49         }.playGame();;
50         
51     }
52     
53 }
Initail.java

 

参考:慕课网(http://www.imooc.com/video/2789)

java接口

标签:

原文地址:http://www.cnblogs.com/jinjiyese/p/4837471.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!