Java接口成员变量和方法默认修饰符(缺省属性)

Java接口成员变量和方法默认修饰符(缺省属性)

Java的interface接口中,定义成员时由于默认修饰符自动省略,因此,默认修饰符也称为缺省属性。

成员变量默认修饰符为: public static final
成员方法默认修饰符为: public abstract

1、成员变量

从默认修饰符 “public static final” 中可以看出,在接口定义成员变量时,成员变量为最终静态变量,不能被实例化为对象【没有对象】,并且必须赋值,在外面访问该成员变量时无法修改该成员变量的值。

例如:

  1. public static final String name = “张三”;
  2. String name = “张三”;

以上两种定义方式实际上是相等,在实际开发中我们通常不书写 “public static final” ,选择第二种被默认省略方式。

2、成员方法

从默认修饰符 “public abstract” 中可以看出,在接口定义成员方法时,成员方法不能有方法体,且限制接口不能创建对象,这就要求遵从该接口的类必须实现该接口的成员方法。

(注:在Java中被abstract关键字修饰的类称为抽象类,被abstract关键字修饰的方法称为抽象方法,抽象方法只有方法的声明,没有方法体。)

例如:

  1. public abstract vod testMethod();
  2. void testMethod();

以上两种定义方式实际上是相等,在实际开发中我们通常不书写 “public abstract” ,选择第二种被默认省略方式。

总结

接口只是对一类事物属性和行为的更高次抽象;对修改关闭,对扩展开放,可以说是java中开闭原则的一种体现吧。

简单的理解,定义接口的目的是为了解决Java无法使用多继承的一种手段,也可以把接口理解成是一种特殊的 abstract 类

Guess you like

Origin blog.csdn.net/weixin_42428778/article/details/109668830