java中的接口interface
接口(interface)是抽象方法和常量值的定义的集合。
从本质上讲,接口是一种特殊的抽象类,这种抽象类值包含方法和常量的定义,没有变量和方法的实现。
TestInterface.java
//唱歌的接口 interface Singer { //唱歌 public void sing(); //睡觉 public void sleep(); } //画画的接口 interface Painter { //画画 public void paint(); //吃饭 public void eat(); } //学生类实现Singer接口 class Student implements Singer { //成员变量 private String name; //构造方法 Student(String name) { this.name = name; } //get set方法 public String getName() { return name; } public void setName(String name) { this.name = name; } //自定义方法——学 public void study() { System.out.println("studying..."); } //重写,实现Singer接口里面的方法 //唱歌 public void sing() { System.out.println("student is singing..."); } //睡觉 public void sleep() { System.out.println("student is sleeping..."); } } //教师类实现Singer,Painter接口 class Teacher implements Singer, Painter { //成员变量 private String name; //构造方法 Teacher(String name) { this.name = name; } //get set方法 public String getName() { return name; } public void setName(String name) { this.name = name; } //自定义方法——教 public void teache() { System.out.println("teaching..."); } //重写,实现Singer接口里面的方法 //唱歌 public void sing() { System.out.println("teacher is singing..."); } //睡觉 public void sleep() { System.out.println("teacher is sleeping..."); } //重写,实现Painter接口里面的方法 //画画 public void paint() { System.out.println("teacher is painting..."); } //吃饭 public void eat(){ System.out.println("teacher is eating..."); } } public class TestInterface { public static void main(String[] args) { //声明Singer接口引用指向Student Singer s1 = new Student("le"); s1.sing(); s1.sleep(); //声明Singer接口引用指向Teacher Singer s2 = new Teacher("steven"); s2.sing(); s2.sleep(); //将Singer转化为Painter Painter p = (Painter)s2; p.paint(); p.eat(); //测试Student和Teacher的自定义方法 Student s = (Student)s1; s.study(); Teacher t = (Teacher)s2; t.teache(); } }
结果:
F:\java>javac TestInterface.java F:\java>java TestInterface student is singing... student is sleeping... teacher is singing... teacher is sleeping... teacher is painting... teacher is eating... studying... teaching... F:\java>
补充:
Valuable.java
//interface接口 public interface Valuable { public double getMoney(); } //interface接口 interface Protectable { public void beProtected(); } //interface接口继承接口 interface A extends Protectable { void m(); void getMoney(); } //abstract抽象类 abstract class Animal { private String name; abstract void enjoy(); } //class类继承abstract,实现interface class GoldenMonkey extends Animal implements Valuable, Protectable { public double getMoney() { return 10000; } public void beProtected() { System.out.println("live in the room"); } public void enjoy() { } public void test() { Valuable v = new GoldenMonkey(); v.getMoney(); Protectable p = (Protectable)v; p.beProtected(); } } //class实现interface class Hen implements A { public void m() {} public void beProtected() {} public double getMoney() { return 1.0; } public void getMoney() {} }
相关推荐
Java接口可以继承其他接口,使用`extends`关键字,如`interface ChildInterface extends ParentInterface { ... }`。接口支持多重继承,一个接口可以继承多个父接口。 5. **默认方法与静态方法**: 自Java 8起,...
下面将详细讲解Java接口的作用以及其在实际开发中的应用。 首先,接口作为契约,定义了类必须遵循的公共行为。通过实现一个或多个接口,一个类可以声明它支持哪些操作,而无需关心具体的实现细节。这种解耦使得代码...
Java 接口是 Java 语言中的一种特殊的抽象类,它定义了一组抽象方法和默认方法,用于规范多个类之间的公共行为。在本文中,我们将详细介绍 Java 接口的定义、抽象方法、默认方法、实现类和使用方法。 一、Java 接口...
在Java编程语言中,`interface`接口和`abstract class`抽象类是两种重要的面向对象设计概念,它们都用于实现多态性,但有着显著的区别。理解这些差异对于编写可扩展和可维护的代码至关重要。 首先,接口是完全抽象...
3. **C#调用Java接口**:在C#代码中,你可以像使用普通的.NET接口一样使用转换后的Java接口。例如: ```csharp using MyJavaInterface = MyJavaLibrary.MyJavaInterface; public class CSharpConsumer { private ...
Java接口(Interface)是Java编程语言中的一个关键概念,它是一种完全抽象的类型,用于定义对象的行为标准。接口中只包含常量定义和抽象方法,不包含任何实现代码。理解并熟练使用Java接口,对于提升代码的灵活性、...
Java API(Application Programming Interface)是Java语言的核心组成部分,它定义了Java标准类库中各种类和接口的集合。这些类库涵盖了输入输出、网络通信、数据处理、图形用户界面等多个领域,为开发者提供了丰富...
在 Java 中,接口是使用 interface 关键字来定义的。接口中可以定义变量、方法、抽象方法、默认方法和静态方法等。接口的变量都是公共静态的,不能被修改。接口的方法可以是抽象的,也可以是默认的或静态的。 在本...
java 接口(interface)
在这个"java接口练习作业"中,我们将会探讨接口的使用,以及如何将其应用于集合框架中。 首先,让我们深入了解Java接口的基本概念。接口是完全抽象的类,不能包含实例变量,但可以声明常量。它由一系列无实现的方法...
JNI(Java Native Interface)是Sun Microsystems公司定义的一套标准接口,用于实现Java代码与本地代码(通常是C或C++)之间的交互。随着Java的发展,JNI的重要性日益凸显,因为它允许Java程序调用本地库的功能,...
Java 中接口的作用 Java 中的接口是一种抽象的概念,它定义了一组方法的集合,但不提供实现。接口的主要作用是提供一种规范,以便实现类来实现这些方法。接口的作用主要体现在以下几个方面: 多重继承:Java 中的...
Java接口在Java编程语言中扮演着至关重要的角色,它是实现多态性和抽象化的关键机制。接口定义了一组方法签名,但不提供具体实现,这使得类可以实现多个接口,从而表现出多种行为。以下是对Java接口的详细解释: 一...
综上所述,Java泛型接口提供了强大的类型安全性,允许我们在接口中定义通用的方法,并在实现时指定具体的类型。通过类型参数约束、通配符、类型擦除和类型推断等机制,我们可以灵活地设计和使用泛型接口,提高代码的...
Java接口(interface)是Java编程语言中的一个重要概念,它是完全抽象的,主要用于定义对象间的行为规范,即指定一个类必须实现哪些方法,但不规定这些方法的具体实现。接口的使用是面向接口编程的核心,它有助于...
总之,Java本地接口(JNI)是Java平台中连接Java世界和本地世界的桥梁,它提供了丰富的功能,但也带来了额外的复杂性和潜在风险。理解和熟练使用JNI是高级Java开发者的必备技能之一。通过JNI,Java开发者可以充分...
总的来说,Java接口提供了定义行为规范的方式,它促进了代码的可扩展性和灵活性。通过接口,我们可以实现类与类之间的松耦合,使得系统更易于维护和升级。在给定的文件`Studens.java`中,可能包含一个实现了`...
综上所述,Java本地接口规范(JNI)是Java生态系统中的一个关键组成部分,它不仅连接了Java世界与本地代码的世界,还为Java开发者提供了强大的工具箱,使他们能够在各种应用场景下发挥Java的优势。通过深入理解JNI的...