java中的接口

简介: java中的接口

一、接口有比抽象类更好的特性:

1.可以被多继承

2.设计和实现完全分离

3.更自然的使用多态

4.更容易搭建程序框架

5.更容易更换实现

二、接口的特性:

1.接口不能被实例化

2.实现类必须实现接口的所有方法

3.实现类可以实现多个接口

4.接口中的常量都是静态常量(static final)

三、接口:

1.语法:

public interface 接口名{}

2.实现接口的语法:

public class 类名 implements 接口名{}

3.需要注意的是,实现接口的同时必须得重写接口里面的方法。

4.一个类只能有一个父类,但是可以实现多个接口。

四、接口表示的是一种约定:

接口体现了约定和实现相分离的原则,通过面向接口编程,可以降低代码间的耦合性。提高代码的可扩展性和可维护性。

五、接口表示一种能力:

一个类实现了某个接口,就表示这个类具备了某种能力。

六、C#中使用接口:

1.语法:访问修饰符 interface 接口名:父接口1,父接口2……{

//属性定义

//方法定义

}

2.实现接口:

class 类名 :父类,接口1,接口2{

}
3.接口之间可以通过":"来实现继承,接口可以实现多继承,但接口不能继承类。
4.接口定义0个或者多个成员,成员主要是方法、属性和索引器,接口汇总不能包含常量,变量或构造方法,也不能包含任何静态成员。
5.接口中的成员访问权限是public
6.接口的命名一般都是I开头。

七、java与C#接口具有以下区别:

1.java中接口通过extends集成父接口,类通过implements实现接口,C#通过冒号来实现这两个功能。

2.java接口中的成员变量(属性)一律是常量,自动用public static final 修饰,C#接口中不允许存在成员变量,但可以有属性。

3.java接口中属性和方法都可以使用public 修饰,C#默认是public,但不允许显示使用public修饰。

4.java接口中可以定义静态常量和方法,但是C#接口中不允许包含任何静态成员。

目录
相关文章
|
1月前
|
Java
【Java】一个简单的接口例子(帮助理解接口+多态)
【Java】一个简单的接口例子(帮助理解接口+多态)
17 0
|
1月前
|
Java
JAVA接口
JAVA接口
13 0
|
2天前
|
存储 安全 Java
[Java基础面试题] Map 接口相关
[Java基础面试题] Map 接口相关
|
8天前
|
Java 开发者
探索 Java 的函数式接口和 Lambda 表达式
【4月更文挑战第19天】Java 中的函数式接口和 Lambda 表达式提供了简洁、灵活的编程方式。函数式接口有且仅有一个抽象方法,用于与 Lambda(一种匿名函数语法)配合,简化代码并增强可读性。Lambda 表达式的优点在于其简洁性和灵活性,常用于事件处理、过滤和排序等场景。使用时注意兼容性和变量作用域,它们能提高代码效率和可维护性。
|
9天前
|
Java
Java接口中可以定义哪些方法?
【4月更文挑战第13天】
14 0
Java接口中可以定义哪些方法?
|
10天前
|
设计模式 Java
Java接口与抽象类
Java接口与抽象类
17 0
|
15天前
|
安全 Java 编译器
接口之美,内部之妙:深入解析Java的接口与内部类
接口之美,内部之妙:深入解析Java的接口与内部类
35 0
接口之美,内部之妙:深入解析Java的接口与内部类
|
17天前
|
存储 Java
java接口和内部类
java接口和内部类
|
18天前
|
缓存 安全 Java
Java中函数式接口详解
Java 8引入函数式接口,支持函数式编程。这些接口有单一抽象方法,可与Lambda表达式结合,简化代码。常见函数式接口包括:`Function<T, R>`用于转换操作,`Predicate<T>`用于布尔判断,`Consumer<T>`用于消费输入,`Supplier<T>`用于无参生成结果。开发者也可自定义函数式接口。Lambda表达式使实现接口更简洁。注意异常处理和线程安全。函数式接口广泛应用于集合操作、并行编程和事件处理。提升代码可读性和效率,是现代Java开发的重要工具。
30 0
|
18天前
|
Java 关系型数据库 MySQL
大厂面试题详解:Java抽象类与接口的概念及区别
字节跳动大厂面试题详解:Java抽象类与接口的概念及区别
40 0