java接口定义的方法是私有吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java接口定义的方法是私有吗?相关的知识,希望对你有一定的参考价值。

Java接口中定义的方法默认是 public 的,因此不能被声明为 private。Java语言规定,接口中的方法必须是公共的,以便被实现类重写和调用。但是,接口中的变量默认是 public static final 的,因此它们是常量,不能被修改。 参考技术A 不,你接口定义之后使用必须要被实现,但是实现你用private修饰,不能被实现类找到,所以肯定不会是私有的。Java接口默认是被public abstract修饰的。属性默认被public static final 修饰 参考技术B java接口定义的方法分为三种权限方式:
①、public,公开的,所有都可以访问;
②、private,私有的,只能提供自己所在类里访问;其他子类或父类都不能访问;
③、protected,受保护的,只能提供自己所在类或子类中访问
参考技术C 如果你问题里的 “接口”指的是 interface 的话,那么,定义的方法是 public 的。

java基础 接口私有方法

 

 1 /**
 2  * 问题描述:
 3  * 我们需要抽取一个共有方法,用来解决两个默认方法之间重复代码的问题
 4  * 但是这个共有方法不应该让实现类使用,应该是私有化的。
 5  *
 6  * 解决方案:
 7  * 从java 9开始,接口当中允许定义私有方法。
 8  * 1、普通私有方法,解决多个默认方法之间重复代码问题
 9  * 格式:
10  * private 返回值类型方法名称(参数列表){
11  *     方法体
12  * }
13  * 2、静态私有方法,解决多个静态方法之间重复代码的问题
14  * 格式:
15  * private static 返回值类型 方法名称(参数列表){
16  *     方法体
17  * }
18  */
19 public interface MyInterfacePrivateA {
20 
21     /*//private用法
22     public default void methodDefault1(){
23         System.out.println("默认方法1");
24         methodCommon();
25     }
26 
27     public default void methodDefault2(){
28         System.out.println("默认方法2");
29         methodCommon();
30     }
31 
32     private void methodCommon(){
33         System.out.println("AAA");
34     }*/
35 
36     //static用法
37     public static void methodStatic1(){
38         System.out.println("静态方法1");
39         methodStaticCommon();
40     }
41 
42     public static void methodStatic2(){
43         System.out.println("静态方法2");
44         methodStaticCommon();
45     }
46 
47     private static void methodStaticCommon(){
48         System.out.println("AAA");
49     }
50 }

 

以上是关于java接口定义的方法是私有吗?的主要内容,如果未能解决你的问题,请参考以下文章

阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第2节 抽象类_9_接口的私有方法定义

java 接口

Java中的接口

java基础 接口私有方法

Java 接口

java 接口和抽象类的区别