java的接口语法,java基础知识--接口语法细节

0、接口必须是用public  abstract修饰,但是可以省略,省略也是public abstract的。

1、在定义类的时候,是可以有接口的,比如:Swimmer swimmer1 = new Shark();式中的Swimmer是一个接口,但是new后是不准有接口的,因为接口中只能有方法的描述,不能存在方法的定义(实现),在这个定义式中,用Swimmer接口的目的就是后续的操作能够更统一一些。

2、接口中的方法一定是公开且抽象(public abstract),且不能有实现,没有别的写法,只能是public abstract void methodName();为了方便,也可以省略public abstract:   void methodName(),编译程序会帮我们自动加上的。但是类中的abstract 方法不一定都是public的。并且类中的某个方法没有实现的话(没有双大括号)就无法编译,必须加上abstract修饰,这还不算完,这样的类也必须用abstract修饰。但是在子类中描述父类的abstract方法的时候可以没有@override关键字。

2.5、java中接口的成员变量必须是public final static修饰的,就是不加这些修饰符,也不会报错,因为编译器会为我们自动加上。

接口的所有成员都应该公开,所以是 public

接口不能实例化,所以只有静态成员: static 接口的成员一定应该是常量,所以是 final。

3.

interface Action {

void execute();

}

class Some implements Action {

void execute() {

// TODO Auto-generated method stub

System.out.println("做一些");

}

}

public class Main {

public static void main(String[] strings){

Action action = new Some();

action.execute();

}

}这个程序是有问题的:

execute();方法是public的,只不过是没写出来而已,Some类implements之后变成了default的,访问级别变低了,这是不对的,Some中的execute()前面没有@override是没有问题的

4、在interface中可以定义常数。如:public static final int STOP = 0;  public static final int STAT = 1; public static final int UP = 2; public static final int DOWN = 3;这叫做枚举常数,事实上,在interface中也只能定义public static final的枚举常数,为了方便,也可写成

public interface Action{

int STOP = 0;

int RIGHT = 1;

......

}

编译程序自会帮我们展开。

5、接口之间也可以相互继承,关键字:extends

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值