java接口中方法、属性修饰符详解,java接口的修饰符可以是哪些
如何解决写爬虫IP受阻的问题?立即使用。
修饰符,默认为public abstract,因为接口是要实现的。
界面很重要。为了说明这种情况,这里有点啰嗦:
(1)接口用于描述系统提供的所有服务,所以接口中的成员常量和方法必须是公共类型,以保证外部用户可以访问;
(2)接口只描述了系统能做什么,没有指明怎么做,所以接口中的方法是抽象方法;
(3)接口不涉及任何与任何具体实例相关的细节,所以接口没有构造方法,不能实例化,也没有实例变量,只有静态变量;
(4)接口中的变量是所有实现类共有的。既然是普遍的,那就一定是不可改变的东西,因为改变了的东西就不能算普遍。所以变量是不可变的(final)类型,也就是常量。
(5)变量不能在接口中定义吗?如果接口可以定义变量,但是接口中的方法都是抽象的,就无法通过行为修改接口中的属性。有人会说,没关系,可以通过实现接口的对象的行为来修改接口中的属性。当然这个没问题,但是考虑一下这种情况。如果接口A中有一个公共访问的静态变量A .根据Java的语义,我们可以通过A.a=xxx而不是实现接口的对象来访问变量A;您可以在界面中更改变量a的值。就像在抽象类中可以做到这一点一样,所有实现接口A的对象都会自动拥有这个改变了的A的值,也就是说,如果一个地方改变了A,所有这些对象中A的值也会改变。这个抽象类和它有什么区别?如何体现接口更高的抽象层次?如何体现接口提供的统一协议?接口的这种抽象需要做什么?因此,变量不能出现在界面中。如果有变量,会和接口提供的统一抽象的思想冲突。所以接口中的属性必须是常量,只能读取不能更改,为实现接口的对象提供统一的属性。
一般来说,你认为要改变的是放在你自己的实现中,而不是放在接口中。接口只是一类事物的属性和行为的更高层次的抽象。封闭是为了修改,开放是为了扩展(不同的实现),接口是开放封闭原则的一种体现。
所以:
* *接口的方法是公共抽象的;默认情况下;
不能在接口中定义变量,也就是只能定义常量(最后修饰会变成常量)。因此,接口的属性在默认情况下是一个公共的静态最终常量,必须给它一个初始值。* *以上是java接口的修饰符为什么可以的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。