1. 首页 > 智能数码 >

java接口的修饰符可以为 java的接口的修饰符

java接口方法修饰符

接口的修饰符是”public abstract“,通常”abstract“可以省略(默认就是这个类型)。举例:

java接口的修饰符可以为 java的接口的修饰符java接口的修饰符可以为 java的接口的修饰符


public interface Math {//定义一个接口类,

public abstract void test();//定义接口方法

public void test(String str);//定义另外一个接口方法

}备注:接口中的所有方法都是抽象方法,没有具体的实现,最后由实现接口的类来重新定义的方法。

使用接口意味着你需要对外部暴露服务,不明白你为什么还要保护起来,如果不需要对外暴露服务,或者说某些服务限制提供,可以使用abstract类在抽象一层。。。这JAVA接口与抽象类的设计理念

应为接口中默认的方法就是public的

看接口的特性啊 接口必须是public的

protected 是继承的子类和同包 能用..

自己想吧...为什么.

如果是protected ,那么不同包的类怎么调用接口里的方法呢 ?

java中有几种修饰符?

在Java中提供了很多的修饰符,修饰符可以用来修饰类,接口,方法,变量的信息;不同的修饰符,可以控制不同的访问权限;

以我们最开始见到的main方法来说:public static void main(String[] args){}

public 就是一个修饰符与public类似的修饰符还有default(默认),private(私有),protected(保护)

对于不同的修饰符,有不同的访问范围:

public(公有的)访问权限,可以修饰类,接口,变量,方法;public所修饰的内容,在当前类,同一个包,其他包都可以访问;

protected(受保护的):可以修饰变量,方法,不可修饰外部类;使用该修饰符修饰的类型可以在当前包,类,同一包类的子类中访问;其他包不可以访问;

default(默认):可以修饰类,接口,变量,方法使用该修饰符修饰的类型可以在当前包,类,同一包内的子类中访问;其他包不可以访问

private(私有的):可以修饰变量,方法,不能修饰外部类;使用该修饰符修饰的对象只可以在本类中使用,其他任何地方都不可以使用;

除了这些访问的修饰符,Java中还存在其他的修饰符:比如static, final, abstract等修饰符;

static(静态):可以修饰变量和方法,使用static修饰变量的时候,这个变量在内存中只有一份,也就是说无论这个类有多少个对象,都使用同一个内存空间,也就是说每个对象所访问该变量的值都是一样的,如果有一个对象将这个值进行了修改,那么其他对象访问这个值也就相应的进行了修改;使用static修饰方法,使用static修饰的方法为静态方法,静态方法中不可以调用没有static的非静态方法;

final(最终):使用final修饰的变量,初始化之后,不可以再次修改这个变量的值,也就说当给这个变量赋值之后,就不能再重新赋值;被final修饰的变量,当定义的时候,给他初始化了;final修饰的方法,可以防止这个方法被子类重写修改;

abstract(抽象): 可以修饰的类型有类和方法;当修饰类的时候,表示这个类是一个抽象的类;抽象类不可以实例化对象,只能被继承;当抽象类的子孙类不是抽象类的时候,才可以被实例化;当abstract修饰方法的时候,表示这个方法是抽象方法,一个抽象类里面可以没有抽象方法,但是当一个类里面有抽象方法的时候,那么这个类是抽象类;java学习方面的问题可以访问下这个网页

一个标准类可以有四种访问修饰符:public,final,abstract和package(就是什么也不写) ,内部类在此基础上还可以有private 和 protected

(有的资料说只有private ,可我写了一个内部类,用protected修饰,没什么问题.)

1 public:所有的类都可以访问。

2 private:只有在同一个类中才可以访问。

3 protected:同一个类中、同一个包中、子类中都可以访问

4、包类型的,即默认类型 同一个类中、同一个包中可以访问到

一个标准类可以有四种访问修饰符:public,final,abstract和package(就是什么也不写) ,内部类在此基础上还可以有private 和 protected

(有的资料说只有private ,可我写了一个内部类,用protected修饰,没什么问题.)

1 public:所有的类都可以访问。

2 private:只有在同一个类中才可以访问。

3 protected:同一个类中、同一个包中、子类中都可以访问

4、包类型的,即默认类型 同一个类中、同一个包中可以访问到

总结一下

应是4种:

1 public:所有的类都可以访问。

2 private:只有在同一个类中才可以访问。

3 protected:同一个类中、同一个包中、子类中都可以访问4、包类型的,即默认类型 同一个类中、同一个包中可以访问到

方法的修饰符有两类:

1.访问控制修饰符(public,private,protected,package)

2.方法本身修饰符(static,final,abstract,native,synchronized)

类的修饰符:

1.前缀修饰符(public,abstract,final)

2.后缀修饰符(extends,implements)

请问java中接口的修饰符是必须是public的吗?

方法都是public的

类实现了接口就要实现接口中的所有方法, 如果你不写成public的,而写 成了default或者不写,那么就代表只有包内有效, 就更改接口的的实现规则,也就大大的缩小了接口中方法的使用范围。

接口里的方法/常量必然是public,但接口本身可以不是public

您说的是接口,借口就是为了被实现的,所以是public的,要不然没什么意义了

接口的修饰符是interface把

java中的interface的修饰符可以是为什么不可以是protected

接口:接口定义的是一组方法或者一个公共接口,它必须通过类来实现。

接口的定义:

[attributes] [modifiers] interface identifier [:base-list] [;]

说明:

1、attributes(可选):附加的定义性信息。

2、modifiers(可选): 允许使用的修饰符有 new 和四个访问修饰符。分别是:new、public、protected、internal、 private。在一个接口定义中同一修饰符不允许出现多次,new 修饰符只能出现在嵌套接口中,表示覆盖了继承而来的同名成员。The public, protected, internal, and private 修饰符定义了对接口的访问权限。

3、指示器和事件。

4、identifier:接口名称。

5、base-list(可选):包含一个或多个显式基接口的列表,接口间由逗号分隔。

6、interface-body:对接口成员的定义。

7、接口可以是命名空间或类的成员,并且可以包含下列成员的签名: 方法、属性、索引器 。

8、一个接口可从一个或多个基接口继承。

接口这个概念在C#和Java中非常相似。接口的关键词是interface,一个接口可以扩展一个或者多个其他接口。按照惯例,接口的名字以大写字母"I"开头。下面的代码是C#接口的一个例子,它与Java中的接口完全一样:

首先interface是定义的规范,是用于调用者和被调用者交互的。你写个protected修饰,对于调用者完全是画蛇添足。而对于实现者来说有protected仅仅是强制约束了必须有这个方法,如果出现了互相调用明显违反了基本原则。

你疑惑的场景应该是这种:com.a.b里有A接口和B辅助类,你想把某个方法只给B,不抛给外部,于是就想到了protected。这种想法是错的,因为你用的是protected可被同包访问,完全违背了protected的原有意义,你可以考虑使用其他策略,如:代理、单独接口,可能不是那么完美,但规范没法妥协,不然就乱了

你既然定义了interface(接口),那肯定是要其它的类去实现它的,不然你定义它干吗,所以不能用protected去修饰,而要用public去修饰。接口可以去继承一个已有的接口。

protected 修饰的类或方法表示其子类不能访问和调用,你又用interface修饰,

interface后的类肯定是要被子类实现的,儿子类又不能用,这不是自相矛盾吗?

java接口interface的数据类型有哪些修饰符

接口中的变量必须都是公有的,静态的常量,即可以用 public static final 这些关键字修饰。

在接口中你可以不用这些关键字修饰,只要是在接口中声明变量,默认就是(即你加不加关键字修饰,系统都认为是公有的静态的常量)。

接口中的变量必须都是公有的,静态的常量,即可以用 public static final 这些关键字修饰。

接口中的数据都必须是public的~

public

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息