【无标题】

  1. 接口与类的区别

    • **接口(interface)**定义了一组抽象方法的声明,但没有具体的实现。它们用于描述类具有什么样的功能,而不关注具体实现。
    • **类(class)**可以包含方法的实现和实例字段,用于定义对象的状态和行为。
  2. 接口的扩展(继承)

    • 接口可以通过 extends 关键字扩展其他接口,以继承其方法声明和常量。
    • 示例:
       

      public interface A { void methodA(); } public interface B extends A { void methodB(); }
    • 在上述例子中,接口 B 扩展了接口 A,因此 B 包含了 methodA() 的声明。
  3. 类的实现

    • 类可以通过 implements 关键字实现接口,从而提供接口声明的具体实现。
    • 示例:public class MyClass implements B {
    • @Override public void methodA()
    • { // 实现 methodA() }
    • @Override public void methodB() { // 实现 methodB() } }
    • 在这里,MyClass 类实现了接口 B,必须提供 methodA() 和 methodB() 的具体实现。

因此,接口在 Java 中用于定义抽象的行为规范,并支持多继承接口的特性,但不能继承类。

在Java中,interface(接口)是一种抽象类型,它定义了一组方法的声明,但没有具体的实现。接口可以包含方法、常量和默认方法的声明,但不能包含实例字段(即变量)或实例方法的实现。

声明接口

接口使用 interface 关键字来声明,语法如下:

 

public interface MyInterface { // 声明方法

void method1();

int method2(String str);

// 声明常量(隐式为 public static final)

int MAX_COUNT = 100; // 默认方法(Java 8 引入)

default void defaultMethod() {

System.out.println("Default method implementation"); } // 静态方法(Java 8 引入) static void staticMethod()

{ System.out.println("Static method in interface"); } }

实现接口

一个类通过 implements 关键字来实现一个接口。一个类可以实现多个接口,但只能继承一个类。

 

public class MyClass implements MyInterface { // 实现接口中的抽象方法

@Override public void method1() { // 实现方法体 }

@Override public int method2(String str) { // 实现方法体 return str.length(); } // MyClass 还可以覆盖默认方法或不覆盖 }

使用接口

接口通常用于定义方法的契约,以便实现类可以提供特定的行为。在代码中,可以通过接口类型引用实现类的实例,从而实现多态性。

 

MyInterface obj = new MyClass();

obj.method1(); // 调用实现类的 method1() 方法

int length = obj.method2("Hello"); // 调用实现类的 method2() 方法

// 调用接口的默认方法

obj.defaultMethod();

// 调用接口的静态方法 MyInterface.staticMethod();

主要特点

  • 抽象性:接口不能直接实例化,只能通过实现它的类来实例化。
  • 多继承:一个类可以实现多个接口,但只能继承一个类。
  • 默认方法和静态方法:接口可以包含默认方法和静态方法的实现,用于提供方法的默认行为或工具方法。

接口在Java中被广泛用于实现多态性和规范化类的行为。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值