Java 接口修饰符

引言

在Java中,接口是一种特殊的抽象类,它定义了一组方法的规范,而不提供实现。接口可以被其他类实现,从而实现它定义的方法。接口修饰符用于定义接口的特性和行为。本文将介绍Java中常用的接口修饰符,包括public、private、protected和default,并提供相应的代码示例。

public

public是Java中最常用的接口修饰符之一。使用public修饰符定义的接口可以被任何类访问。下面是一个使用public修饰符定义接口的示例代码:

public interface Shape {
    double getArea();
    double getPerimeter();
}

上述代码定义了一个名为Shape的接口,包含了两个抽象方法getArea()和getPerimeter()。这些方法没有具体的实现,只是定义了方法的规范。其他类可以实现Shape接口,并提供这些方法的具体实现。

private

private是用于修饰接口成员的修饰符之一。使用private修饰的接口成员只能在接口内部访问,其他类无法访问。下面是一个使用private修饰符定义接口成员的示例代码:

public interface Shape {
    private double PI = 3.1415926;
    private void printPI() {
        System.out.println("PI: " + PI);
    }
    double getArea();
}

上述代码定义了一个名为Shape的接口,包含了一个私有常量PI和一个私有方法printPI()。这些私有成员只能在接口内部使用,其他类无法访问。接口的实现类可以继承这些私有成员,并在实现类中使用。

protected

protected是用于修饰接口成员的修饰符之一。使用protected修饰的接口成员可以被同一个包中的类访问,或者是该接口的子类访问。下面是一个使用protected修饰符定义接口成员的示例代码:

public interface Shape {
    protected double PI = 3.1415926;
    protected void printPI() {
        System.out.println("PI: " + PI);
    }
    double getArea();
}

上述代码定义了一个名为Shape的接口,包含了一个受保护的常量PI和一个受保护的方法printPI()。这些受保护成员可以被同一个包中的类访问,或者是该接口的子类访问。

default

default是Java 8引入的新特性,用于修饰接口的默认方法。默认方法是在接口中提供的具体实现,可以被继承或实现该接口的类直接使用。下面是一个使用default修饰符定义接口默认方法的示例代码:

public interface Shape {
    double getArea();
    double getPerimeter();
    default void print() {
        System.out.println("This is a shape.");
    }
}

上述代码定义了一个名为Shape的接口,包含了两个抽象方法getArea()和getPerimeter(),以及一个默认方法print()。这个默认方法提供了一个默认的实现,可以直接在实现类中使用,也可以被继承或实现该接口的类重写。

总结

本文介绍了Java中常用的接口修饰符,包括public、private、protected和default。这些修饰符可以用于定义接口的访问权限和行为。其中,public修饰符定义的接口可以被任何类访问;private修饰符定义的接口成员只能在接口内部访问;protected修饰符定义的接口成员可以被同一个包中的类访问,或者是该接口的子类访问;default修饰符用于定义接口的默认方法,提供了一个具体的实现。通过合理使用这些接口修饰符,可以更好地设计和组织Java代码。

参考资料

  • Oracle官方文档: [Interface (