余姚专业网站建设公司,wnmp搭建后怎么做网站,建站公司用的 商城系统,ui设计培训班学费大概多少接口(interface)
1 概述
在Java中#xff0c;接口是一种抽象数据类型#xff0c;它定义了一组方法#xff08;没有方法体#xff09;#xff0c;但没有实现这些方法的具体代码。接口可以看作是一种合约#xff0c;它规定了类应该具有的行为。类可以实现一个或多个接口接口是一种抽象数据类型它定义了一组方法没有方法体但没有实现这些方法的具体代码。接口可以看作是一种合约它规定了类应该具有的行为。类可以实现一个或多个接口从而承诺实现接口中定义的方法。 一方面有时必须从几个类中派生出一个子类继承它们所有的属性和方法。但是Java不支持多重继承。有了接口就可以得到多重继承的效果。 另一方面有时必须从几个类中抽取出一些共同的行为特征而它们之间又没有is-a的关系仅仅是具有相同的行为特征而已。例如鼠标、键盘、打印机、扫描仪、摄像头、充电器、MP3机、手机、数码相机、移动硬盘等都支持USB连接。 接口就是规范定义的是一组规则体现了现实世界中“如果你是/要…则必须能…”的思想。**继承是一个是不是的关系而接口实现则是 能不能**的关系。 接口的本质是契约标准规范就像我们的法律一样。制定好后大家都要遵守。
接口(interface)是抽象方法和常量值定义的集合。
2 接口的特点
1. 用interface来定义。
2. 接口中的所有成员变量都默认是由public static final修饰的。
3. 接口中的所有抽象方法都默认是由public abstract修饰的。
4. 接口中没有构造器。
5. 接口采用多继承机制。
3 语法格式
定义Java类的语法格式先写extends后写implements
class SubClass extends SuperClass implements InterfaceA{ }
interface Drawable {void draw();
}class Circle implements Drawable {public void draw() {System.out.println(Drawing a circle);}
}class Rectangle implements Drawable {public void draw() {System.out.println(Drawing a rectangle);}
}public class Main {public static void main(String[] args) {Drawable circle new Circle();Drawable rectangle new Rectangle();circle.draw(); // 输出Drawing a circlerectangle.draw(); // 输出Drawing a rectangle}
}在上面的示例中我们定义了一个接口Drawable该接口只有一个抽象方法draw()。然后我们创建了两个实现该接口的类Circle和Rectangle。在Main类中我们创建了circle和rectangle对象并调用了它们的draw()方法。
一个类可以实现多个接口接口也可以继承其它接口。
实现接口的类中必须提供接口中所有方法的具体实现内容方可实例化。否则仍为抽象类。
接口的主要用途就是被实现类实现。面向接口编程
与继承关系类似接口与实现类之间存在多态性
接口的主要用途是实现代码的解耦和增加扩展性。通过接口可以定义一组约定好的方法然后由不同的类去实现这些方法从而实现多态、降低耦合度使代码更加灵活和可扩展。 Java中的类可以实现多个接口也可以继承一个类同时实现接口。接口之间还可以进行继承通过继承接口可以扩展接口的行为。 需要注意的是接口中的方法不可以有方法体常量是隐式静态最终的接口不能被实例化。在Java 8之后接口还可以包含默认方法和静态方法的实现。 一个类可以实现多个无关的接口
interface Runner { public void run();}
interface Swimmer {public double swim();}
class Creator{public int eat(){…}}
class Man extends Creator implements Runner ,Swimmer{public void run() {……}public double swim() {……}public int eat() {……}
}
4 接口的优点
接口的优点包括
实现多继承Java中一个类只能继承一个类但可以实现多个接口从而实现多重继承的效果。解耦和灵活性接口将定义和实现分离可以提高代码的灵活性和可维护性降低类之间的耦合度。规范和约束接口规定了类应该实现的方法提供了一种强制约束机制。提供标准化的API接口定义了一组方法规范使得不同类的对象可以通过相同的接口进行交互和使用。