java接口深入理解,深入理解Java接口

从java接口是什么到为什么,理解java接口,主要解决三个问题

1.java接口是什么

2.java接口为什么

3.java接口怎么用

java接口是什么

接口是方法的抽象,通过接口规定类需要实现那些方法。所以接口是抽象类型(abstract type,not abstract class),而不是抽象类。java如何实现这种抽象类型。接口定义:

public interface ShowTips {

String hello="hello world";

void show();

}

关键字 interface,定义Field

java接口为什么

为什么需要接口

为什么是这样实现的

为什么是要使用这样的修饰符

理解java接口是对抽象的认识和应用。很多java接口的 是什么决定了为什么。面向对象编程特征:封装,继承,多态。java使用类的机制实现封装,类与类的继承,但是类不可以多继承,所以使用接口来实现多继承,还有多态。

为什么接口的field是public,static,final的呢?

Every field declaration in the body of an interface is implicitly public, static, and final. It is permitted to redundantly specify any or all of these modifiers for such fields.

因为field给类提供的是常量,常量不可以随意改变,比较安全

为什么接口的方法是public,abstract的呢?

Every method declaration in the body of an interface is implicitly public .

Every method declaration in the body of an interface is implicitly abstract, so its body is always represented by a semicolon, not a block.

这是有接口功能所决定的,既然接口功能要求类实现接口方法,那么接口定义的方法就是抽象,而且public的,public表示公开的。

java接口怎么用

示例代码验证接口

定义接口

public interface ShowTips {

String hello="hello world";//接口field是public,static,final的

void show(); //接口方法没有具体实现,只是定义,占个地址

}

定义类实现接口

public class Test6 implements ShowTips {

static final int a=12;//全局常量,不能在方法中定义静态常量

public static void main(String[] args) {

// TODO Auto-generated method stub

Test6 test6=new Test6(); // 不可以 直接使用show()静态方法不可以引用非静态方法,因为非静态方法没有分配内存,无法引用

test6.show();//new之后分配内存才可以执行方法

show2();//在静态方法中可以直接调用static方法

}

public void show() { //非静态方法 , 实现接口ShowTips

// TODO Auto-generated method stub

System.out.println(hello);//hello是接口的常量,可以直接使用,因为接口的定义属性是public,static,final

}

public static void show2(){

System.out.println("this is static "+hello);//静态方法可以访问接口的成员,因为hello位于static

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值