接口(关注我还有后续哦)

发布于:2022-12-07 ⋅ 阅读:(864) ⋅ 点赞:(0)

👍 棒棒有言:现在学习Java变得比以前容易多了,除了有大量的视频教程外,还有专业的机构,这都使学习变得更加简单化。如果仅仅学了些皮毛,高手写的程序你是望尘莫及的。在学习的过程中,书籍永远是知识不错的载体,所以要自己不断加大练习,这样才能不断提高自己。

👍 本章简介:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

👍  作者:get棒棒本人主页要关注哦 

👍  重要:这个是继承链接和多态链接都是相关的请一起看多态和继承

目录

接口

1、生活中的接口

2、 定义一个简单的接口

(1)接口是一个不能实例化的类型。

3、更复杂的接口

4、使用接口的优势

5、面向对象设计的原则

二.抽象类和接口章节总结


接口

1、生活中的接口

(1)Java中接口的作用和生活中的接口类似,它提供一种约定,使得实现接口的类(或结构)在

形式上保持一致。

(2)如果抽象类中所有的方法都是抽象方法,就可以使用接口来表示。

(3)接口可以看作是一种特殊的“抽象类”,但是采用与抽象类完全不同的语法来表示,两者的设

计理念也不同。

2、 定义一个简单的接口

(1)接口是一个不能实例化的类型

接口类型的定义类似于类的定义,语法格式如下:

public interface 接口名{

//接口成员

}

-->定义接口使用interface修饰符,访问修饰符只能是public,且可选。

-->接口成员可以全是常量和公共的抽象方法。

-->使用接口必须通过子类,子类通过implements关键字实现接口。

(2)实现接口的语法格式如下:

  public 类名 implements 接口名 {

实现方法

普通方法

}

-->实现接口使用implements关键字。

-->实现接口的类必须实现接口中定义的所有抽象方法。接口的实现类允许包含普通方法。

3、更复杂的接口

(1)接口本身也可以继承接口。

(2)接口继承的语法格式如下:

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

常量定义

方法定义

}

(3)一个普通类只能继承一个父类,但能同时实现多个接口,也可以同时继承抽象类和实现接

口。

(4)实现多个接口的语法格式如下:

class 类名 extends 父类名 implements 接口1,接口2,......{

类的成员

}

(5)关于定义和实现接口,需要注意以下几个方面的内容。

-->接口和类、抽象类是一个层次的概念,命名规则相同。

-->修饰符如果是public,则该接口在整个项目中可见。如果省略修饰符,该接口只在当前包中可

见。

-->接口中可以定义常量,不能定义变量。接口中的属性都默认用“public static final”修饰,即接口

中的属性都是全局静态常量。接口中的常量必须在定义时指定初始值。

-->接口中的所有方法都是抽象方法,接口中的方法都默认为public。

-->和抽象类一样,接口同样不能实例化,接口中不能有构造方法。

-->接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类。

-->类只能继承一个父类,但可以通过implements实现多个接口。一个类必须实现接口的全部方

法,否则必须定义为抽象类。若一个类在继承父类的同时又实现了多个接口,extends必须位于

implements之前。

4、使用接口的优势

(1)接口可以解决Java中单根继承的局限性。

(2)在抽象类中可以将接口作为属性,通过属性调用该接口的方法。

5、面向对象设计的原则

(1)摘取代码中变化的行为,形成接口。

(2)多用组合,少用继承。

(3)针对接口编程,不依赖于具体实现。

如果对一个类型有依赖,应该尽量依赖接口,尽量少依赖子类。因为子类一旦变化,代码变动的可

能性大,而接口要稳定得多。

在具体的代码实现中,体现在方法参数尽量使用接口,方法的返回值尽量使用接口,属性类型尽量

使用接口等。

(4)针对扩展开放,针对改变关闭。

如果项目中的需求发生了变化,应该添加一个新的接口或者类,而不要去修改原有的代码。

二.抽象类和接口章节总结

1、 抽象方法使用abstract修饰符,没有方法体。

2、 抽象类使用abstract修饰符,不能实例化。

3、 类只能继承一个父类,但可以实现多个接口。一个类要实现接口的全部方法,否则必须定义为

抽象类。Java通过实现多个接口达到多重继承的效果。

4、 接口表示一种约定,也表示一种能力,体现了约定和实现相互分离的原则。通过面向接口编

程,可以降低代码间的耦合性,提高代码的可扩展性和可维护性。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到