`

java接口进一步理解(一)

 
阅读更多
今天来整理篇关于java接口知识的文章:
    首先我们知道,java语言不支持一个类有多个直接的父类(多继承),但可以实现多个接口,间接的实现了多继承.

1.接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显示初始化,即接口中的成员变量为常量(大写,单词之间用"_"分隔).

2.接口中的方法默认都是public,abstract类型的(都可省略),没有方法体,不能被实例化
public interface A
   {
      int CONST = 1; //合法,CONST默认为public,static,final类型
       void method(); //合法,method()默认为public,abstract类型
       public abstract void method2(); //method2()显示声明为 
                                             //public,abstract类型
   }

    接口中只能包含public,static,final类型的成员变量和public,abstract类型的成员方法
   public interface A
   {
      int var; //错,var是常量,必须显示初始化 
       void method(){...};   //错,接口中只能包含抽象方法
       protected void method2(); //错,接口中的方法必须是public类型
       static void method3(){...};   //错,接口中不能包含静态方法
   }


3.接口中没有构造方法,不能被实例化
   
public interface A
   {
     public A(){...}; //错,接口中不能包含构造方法
      void method();
   }


4.一个接口不能实现(implements)另一个接口,但它可以继承多个其它的接口:
   public interface A
   {
     void methodA();
   }
   public interface B
   {
     void methodB();
   }
   public interface C extends A, B   //C称为复合接口
   {
     void methodC();
   }
   public interface C implements A{...}   //错



5.接口必须通过类来实现它的抽象方法
  
public class A implements B{...}


6.当类实现了某个接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象的

7.不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例
 
 public class B implements A{}
   A a = new B(); //引用变量a被定义为A接口类型,引用了B实例
   A a = new A(); //错误,接口不允许实例化
分享到:
评论

相关推荐

    基于Java的接口快速开发框架

    【Java接口快速开发框架——深入理解magic-api】 在IT行业中,高效的开发工具和框架对于提升开发效率至关重要。"基于Java的接口快速开发框架"正是这样一种解决方案,它借助于magic-api,让开发者能够以更简洁的方式...

    JAVA接口的介绍

    Java接口是一种只包含抽象方法和常量的特殊类型,用于定义一组行为规范。在接口中声明的方法默认是公共的、抽象的,并且不允许有任何实现细节。通过继承接口,类可以实现这些方法来提供具体的功能。 #### 接口与类...

    java接口与实现接口的类实验报告.pdf

    实验的目的在于让学生深入理解Java接口的概念,以及如何通过实现接口来扩展类的功能。通过使用`java.lang`包中的基础类库(如Object的super()方法)和`java.util`包中的工具类库(如Comparator和Arrays),学生可以...

    使用java请求json接口数据

    标题"使用java请求json接口数据"指出我们要使用Java发送HTTP请求到一个提供JSON数据的接口。这通常涉及到HTTP的GET或POST方法。GET用于从服务器获取数据,而POST用于向服务器发送数据。在Java中,我们可以使用`java...

    java 接口 类 继承 多态的简单实例

    同时,为了进一步展示Java的灵活性,我们在最底层的类中创建了一个**内部类(Inner Class)**,内部类可以访问外部类的所有成员,包括私有成员,这为复杂的设计提供了可能。外部类可以通过其成员变量或方法来创建和...

    java接口文档规范

    本文档将详细介绍一个具体的Java接口示例,并对该接口的各项内容进行深入解析。 #### 接口概览 该接口的主要功能是用于用户登录验证。其基本属性如下: - **接口名称**:`接口` - **测试地址**:`...

    Java基础--接口类

    Java接口类是定义行为规范的工具,它促进了代码的灵活性、可维护性和多态性。通过实现接口,类可以具备多种行为,并且能够在不修改原有代码的基础上扩展功能。接口的默认方法和静态方法进一步增强了其功能,使得接口...

    java继承与接口上机实践4

    1. **接口的概念**:接口是Java中的另一种类型,它定义了一组方法签名,但不包含任何方法的实现。类可以实现多个接口,从而实现多继承。 2. **关键字`implements`**:类通过`implements`关键字实现接口,例如,`...

    基于Java的接口快速开发框架,通过magic-api提供的UI界面完成编写接口.zip

    【标题】中的“基于Java的接口快速开发框架,通过magic-api提供的UI界面...通过学习和应用这些知识点,开发者可以更高效地利用该框架构建出高质量的Java接口,并通过友好的UI界面进行管理和调试,从而提升开发效率。

    JAVA 教学 PPt(接口,类和对象尤其详尽)

    在Java编程语言中,接口、类和对象是核心概念,对于理解和构建复杂的软件系统至关重要。让我们深入探讨这些主题。 1. 接口(Interface): Java中的接口是一种完全抽象的类型,它定义了一组方法的签名,但不包含...

    JAVA连接SAP的官方接口文档

    JCo3提供了一个`Repository`接口,可以从中获取到这些函数模块的Java表示,即`FunctionTemplate`。这些模板包含了函数模块的所有输入和输出参数。 4. **调用函数模块**:有了`FunctionTemplate`后,可以创建`...

    java中接口与抽象类的详细分析与比较

    总结来说,理解和掌握Java中的接口和抽象类是成为一名优秀Java开发者的关键。选择使用哪种方式取决于具体的需求和设计目标,灵活运用它们可以帮助我们编写出更高效、更易于维护的代码。通过阅读"java中接口与抽象类...

    鹏元征信接口调用demo(java版)

    "鹏元征信接口调用demo(java版)"是一个针对银行和其他金融机构的实用工具,它提供了使用Java语言调用鹏元征信接口的示例代码,帮助开发者快速理解和实现征信查询功能。 鹏元征信是中国的一家权威信用评级机构,...

    短信开发包(java接口)

    "短信开发包(java接口)"是一个专为Java开发者设计的工具,它提供了便捷的方式来集成短信发送功能到自己的应用程序中。这个开发包通常包含了丰富的API和示例代码,以帮助开发者快速理解和实现短信发送的功能。 一、...

    java传真接口真正的传真接口无需要编程

    Java传真接口技术是一种在软件应用中集成传真功能的方法,它允许程序无须复杂的编程即可发送和接收传真。这种技术对于那些希望快速实现传真功能而无需深入理解底层通信协议的开发者来说,尤其方便。"java传真接口...

    M1,Delphil,Java接口程序

    总的来说,"M1,Delphi,Java接口程序"是一个关于跨平台通信和接口设计的课题,涉及到了Delphi的DLL开发、Java的接口实现以及二者之间的互操作性技术。理解并掌握这些知识点,对于开发能够与不同系统和语言无缝协作的...

    JAVA高级:根据接口解耦示例

    4. 接口继承(Interface Inheritance):Java允许接口继承接口,这样就可以在一个接口中继承另一个接口的所有方法,实现方法的复用。 在"几个关键的概念.txt"文件中,可能详细解释了这些概念,并提供了相关的代码...

    实验接口java

    为了进一步扩展程序,我们可以定义一个新接口`Trainer`,包含`train()`方法。然后让`Dog`类同时实现`Trainer`接口。 ```java public interface Trainer { void train(); } public class Dog extends Mammal ...

    使用Java理解程序逻辑第8章.zip

    在本压缩包“使用Java理解程序逻辑第8章.zip”中,我们聚焦于JavaSE(Java Standard Edition)的学习,这是Java编程的基础部分,主要用于桌面应用和服务器端开发。本章节内容可能涵盖了Java语言的关键概念和高级特性...

Global site tag (gtag.js) - Google Analytics