爪哇2博客
爪哇2博客

爪哇 9–接口中的私有方法

In this topic, we will discuss the 私人的 and 私人的 静态的 methods inside an 接口.

接口 in 爪哇 is a concept which is used to achieve abstraction. In early versions of 爪哇, an 接口 can contain only abstract methods and constants until 爪哇 8 允许添加 默认和静态方法 也一样

In 爪哇 9, 接口 allows creating 私人的 and 私人的 静态的 methods. It means now an 接口 can have the following:

  1. 抽象方法
  2. 常数变数
  3. 默认方法(在Java 8中添加)
  4. 静态方法(在Java 8中添加)
  5. 私有方法(在Java 9中添加)
  6. 私有静态方法(在Java 9中添加)

现在,让’理解什么是私有方法及其重要性。

接口私有方法

A 私人的 method declared inside an 接口 is similar to declared inside a 类. It is declared using 私人的 访问修饰符 使其仅限于界面。这些方法可以’t be accessible 出 side the 接口 and don’t继承到接口或实现类。

添加私有方法的主要目的是在接口内的非抽象方法之间共享通用代码。让’s see an example.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
接口 饮用{
    默认 虚空 休息时间() {
        咖啡();
    }
    私人的 虚空 咖啡() {
        系统..打印(“来杯咖啡吧”);
    }
}
 
上市 主要 实施 饮用{
    上市 静态的 虚空 主要([] args){
        主要 主要 = 主要();
        主要.休息时间();
    }
}
 

输出:

让’s have a Coffee

接口私有静态方法

像私有实例方法一样,私有方法可以是 静态的 也一样私有静态方法不能从接口外部访问,而只能在默认或静态方法内部访问。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
接口 饮用{
    默认 虚空 休息时间() {
        咖啡();
        ();
    }
    私人的 虚空 咖啡() {
        系统..打印(“来杯咖啡吧”);
    }
    私人的 静态的 虚空 () {
        系统..打印("让's have a Tea");
    }
}
 
上市 主要 实施 饮用{
    上市 静态的 虚空 主要([] args){
        主要 主要 = 主要();
        主要.休息时间();
    }
}
 

输出:

让’s have a Coffee
让’s have a Tea

If we want to share code between instance methods, 私人的 instance methods and 私人的 静态的 methods both can be used. But If we want to share code between 静态的 methods, use 私人的 静态的 methods only. See, what happens, if we try to access a 私人的 method inside a 静态的 method.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
接口 饮用{
    静态的 虚空 休息时间() {
        咖啡(); //错误:无法静态引用非静态方法
    }
 
    私人的 虚空 咖啡() {
        系统..打印(“来杯咖啡吧”);
    }
}
 
上市 主要 实施 饮用{
    上市 静态的 虚空 主要([] args){
        主要 主要 = 主要();
        //main.breakTime();
    }
}
 

输出:

错误:无法静态引用非静态方法

要记住的要点

  1. 接口 私人的 methods 必须有执行机构;他们能’不能声明为抽象方法。
  2. A 静态的 method can call only 私人的 静态的 method, but a 默认 method can call both the 静态的 and non-static(instance) 私人的 methods.
  3. The 接口 私人的 methods support sharing common code between non-abstract methods(default, 静态的 and 私人的).

结论

This topic is all about the 私人的 methods in the 接口. This feature makes the 接口 more powerful and advance. Now, 接口 supports both 私人的 and 私人的 静态的 methods within an 接口.

那’接口中的所有ab 爪哇 9Private方法。

分享这个

作者

关注作者

    相关文章

    • 10月12日

      爪哇 9JShell 教程

      爪哇 JShell是Java 9版本中引入的命令行工具。它有助于单行执行/测试Java语句。它基于REPL(读取评估打印循环),它读取一条代码语句,执行该语句并打印输出语句。它读取语句并立即显示[…]

    • 10月11日

      爪哇 9:Stream API的改进

      在Java 9中,将以下方法添加到流包的Stream接口。这些方法是默认方法和静态方法。 takeWhile()方法此方法包含在Stream接口中,用于将元素收集到流中。它需要所有元素,直到指定为谓词的条件为止。例如,我们要收集[…]

    • 9月24日

      爪哇 9–流程API的改进

      在本文中,我们将介绍Java 9流程API的改进。 爪哇在Java 9版本中改进了其Process API,其中包括Process类的新方法和两个新接口ProcessHandle和ProcessHandle.Info。这些方法用于创建新流程并获取流程信息,例如流程状态,运行时间,流程ID,[…]

    • 9月19日

      爪哇尝试使用资源

      在本文中,我们将介绍有关Java尝试使用资源的声明。具有资源的Java尝试是Java的一项功能,已添加到Java 7中。它有助于关闭try块中声明的所有资源。使用后,它将自动关闭资源。资源可以是任何文件或数据库[…]

    • 9月19日

      爪哇 9– 爪哇doc改进

      爪哇已对其Javadoc进行了升级,以实现更好的用户交互和用户体验。它包括简化的搜索,HTML生成器,Doclet API等。什么是Javadoc 爪哇doc是Javac之类的工具,是JDK的一部分。它用于生成Java源代码的HTML文档。如果您曾经访问过Oracle网站,则[…]

    • 9月19日

      爪哇 9–@SafeVarargs批注

      在本文中,我们将看到Java 9中的@SafeVarargs注释。@SafeVarargs是用于执行安全操作的注释。当方法采用可变参数时,可能会导致操作不安全,因此@SafeVarargs批注会告知编译器执行安全操作。例如,如果我们不’t use […]

    发表评论

    您的电子邮件地址不会被公开。 必需的地方已做标记 *

    订阅我们的新闻

    获取质量教程到您的收件箱。现在订阅。


    让’s be Friends

    ©2020 爪哇2博客