zoukankan      html  css  js  c++  java
  • 第九章 接口

    1. 可以在 interface关键字前面添加public关键字(但仅限于该接口在与其同名的文件中被定义)。如果不添加public关键字,则它只具有包访问权限,这样它就只能在同一个包内可用,接口也可以包含域,但是这些域隐式地是static和final的。
    2. 可以选择在接口中显式地将方法声明为public的,但即使你不这么做,他们也是public的。因此,当要实现一个接口时,在接口中被定义的方法必须被定义为是public的;否则,他们将只能得到默认的包访问权限,这样在方法被集成的过程中,其可访问权限就被降低了,这是Java编译器所不允许的。
    3. interface CanFight {
      void fight();
      }
      interface CanSwim {
      void swim();
      }
      interface CanFly {
      void fly();
      }
      class ActionCharacter {
      public void fight() {}
      }
      class Hero extends ActionCharacter
      implements CanFight, CanSwim, CanFly {
      public void swim() {}
      public void fly() {}
      }

      CanFight接口与ActionCharater类中的fight()方法的特征签名是一样的,而且,在Hero中并没有提供fight()的定义。可以拓展接口,但是得到的只是另一个接口。当想要创建对象时,所有的地冠以首先必须都存在。即使Hero没有显式地提供fight()的定义,其定义也因ActionCharacter而随之而来,这样就使得创建Hero对象称为了可能。

    4. 一般情况下,只可以将extends用于单一类,但是在创建新接口时,extends可以引用多个基类接口。
  • 相关阅读:
    Mysql分布式事务
    Mysql锁
    Mysql事务隔离级别
    java 资源监控
    Mysql子查询
    javaWeb四大域对象
    KVM 迁移
    KVM 虚拟化
    网络基础
    系统简单启动过程
  • 原文地址:https://www.cnblogs.com/m-evan/p/4913644.html
Copyright © 2011-2022 走看看