2021-05-08

Java 接口
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以 interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接 口则包含类要实现的方法。
[修饰符] abstract 返回类型 方法名();
除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就 必须声明为抽象类。
在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现 的对象。
接口的定义
public interface InterfaceOne {
//编译时自动为接口里定义的成员变量增加public static final修饰符
int INT_A=11;
public final static int INT_B=11;
//编译时自动为接口里定义的方法添加public abstract修饰符
void sleep();
public abstract void running();
void test(); }
修饰符 public、abstract
接口有以下特性:
接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字。
接口中每一个方法也是隐式抽象的,声明时同样不需要abstract关键字。
接口中的方法都是公有的。
编译时自动为接口里定义的方法添加public abstract修饰符
Java接口里的成员变量只能是public static final共同修饰的,并且必须赋初值,可以不写public static final,编译的时候会自动添加
接口的实现:
当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。
类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。
Java中类可以实现多个接口
[修饰符] class 类名 implements 接口1[, 接口2, 接口3…, …] { }
接口的继承
一个接口能继承另一个接口,和类之间的继承方式比较相似。接口的继承使用extends关键字,子接口 继承父接口的方法。接口允许多继承

抽象类和接口的对比

              抽象类                            接口

默认的方法实现 它可以有默认的方法实现 接口完全是抽象的。它根本不存 在方法的实现

实现 子类使用extends关键字来继 类使用关键字impements来实现 接口。它需要
承抽象类。如果子 类不是抽象 提供接口中所有声 明的方法的实现
类的话,它需要提供抽象类中所
有声明 的抽象方法的实现。

构造器 抽象类可以有构造器 接口不能有构造器

与正常Java 除了不能实例化抽象类之外, 接囗是完全不同的类型
类的区别 它和普通Java类没有 任何区别

访问修饰符 抽象方法可以有pubic、protected 接口方法默认修饰符是public。
和default这些 修饰符 你不可以使用其它修饰符。

main方法 抽象方法可以有main方法并且 接口没有main方法,因此我们不能 运行它
我们可以运行它

多继承 抽象类可以继承一个类和实现多个接口 接口只可以继承一个或多个其它 接口

添加新方法 如果你往抽象类中添加新的方法, 如果你往接口中添加方法,那么你
你可以给它提供 默认的实现。 必须改变实现该接口的类
因此你不需要改变你现在的代码
修饰符总结:
四个访问控制符:

注意:在不写访问控制符的情况下,就是friendly(默认)修饰符
类修饰符:
public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是 公共类。
friendly,默认的修饰符,只有在相同包中的对象才能使用这样的类。
abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。
final,将一个类生命为最终(即非继承类),表示他不能被其他类继承。
成员变量修饰符:
public(公共访问控制符),指定该变量为公共的,他可以被任何对象的方法访问。
private(私有访问控制符)指定该变量只允许自己的类的方法访问,其他任何类(包括 子类)中的 方法均不能访问。
protected(保护访问控制符)指定该变量可以别被自己的类和子类访问。在子类中可以覆盖此变 量。
friendly ,在同一个包中的类可以访问,其他包中的类不能访问。
final,最终修饰符,指定此变量的值不能变。
static(静态修饰符)指定变量被所有对象共享,即所有实例都可以使用该变量。变量属于这个 类。
方法修饰符:
public(公共控制符),指定该方法可以从所有类访问
private(私有控制符)指定此方法只能有自己类等方法访问,其他的类不能访问(包括子类)
protected(保护访问控制符)指定该方法可以被它的类和子类进行访问。
final,指定该方法不能被重载。
static,指定不需要实例化就可以激活的一个方法。
synchronize,同步修饰符,在多个线程中,该修饰符用于在运行前,对他所属的方法加锁, 以防 止其他线程的访问,运行结束后解锁。
native,本地修饰符。指定此方法的方法体是用其他语言在程序外部

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值