`

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单元测试接口作业.zip

    "JAVA单元测试接口作业.zip"这个资源是一个关于Java编程的压缩文件,主要包含了一些用于进行Java单元测试的接口和相关的作业任务。单元测试是软件开发过程中的一个重要环节,它可以帮助开发者检查代码的正确性,确保...

    Java的函数式接口讲解代码( 函数式接口定义、 函数式接口实战、内置函数式接口...)

    3. 扩展Java API:通过理解函数式接口的设计原则和使用方法,用户可以自己定义并使用函数式接口,扩展Java标准库或其他第三方库的功能。 4. 函数式库开发:本源码资源对函数式接口的设计和实现提供了参考,使得用户...

    基于Java策略模式的角色扮演游戏【100011199】

    根据讲义中策略模式的案例,...深化理解Java 面向对象程序设计中消息、继承、多态、接口、抽象类和抽象方法等概念和实现方式;并进一步掌握Java 程序设计中的基本语法和Java 程序运行方法等;理解和应用包(package)。

    inheritance-polymorphism-java:演示和理解多态性

    一个Java项目,以演示和理解Java中的多态性和继承。 该项目使用Java 7。 ###如何使用? 这是一个eclipse项目,因此要从eclipse中执行以下步骤以导入该项目: eclipse > file > import > existing projects into ...

    Java开发详解.zip

    031317_〖第13章:Java类集〗_范例讲解:一对多关系笔记.pdf 031318_〖第13章:Java类集〗_范例讲解:多对多关系笔记.pdf 031401_【第14章:枚举】_枚举的作用笔记.pdf 031402_【第14章:枚举】_Enum笔记.pdf 031403...

    Java语言 泛型讲解案例代码 (泛型类、泛型接口、泛型方法、无界及上下限通配符、泛型对协变和逆变的支持、类型擦除 ...)

    读者可以通过运行这些示例代码来观察泛型的行为和效果,进一步加深对泛型的理解。 代码资源中会包含以下示例代码: 定义泛型类:展示如何定义一个简单的泛型类,以及如何创建该类的实例并使用泛型参数。 泛型方法:...

    Java面向对象知识点梳理(思维导图)

    这个资源是一个Java面向对象知识点的思维导图,它涵盖了Java中面向对象编程的核心概念和重要知识点。导图中包含了类、对象、继承、多态、封装等基本概念,同时也包括了接口、抽象类、异常处理、泛型等高级特性。这个...

    Java零基础-继承.md

    建议通过阅读相关的Java教材或搜索资料,进一步扩展学习与继承相关的高级主题,如多层继承、抽象类和接口等内容。 如有疑问,可以参考Java官方文档或向技术论坛寻求帮助,进一步加深对继承的理解。

    Java核心技术 卷Ⅰ:基础知识 【中文】(第八版)

    熟悉 C++的程序员可以快速地浏览这一章,而没有面向对象程序设计背景的程序员,应在进一步学 习Java之前花一些时间了解OOP的有关概念。 第5章介绍类与封装仅仅是OOP中的一部分,本章将介绍另一部分—继承。继承使...

    Java零基础-多态.md

    内容概要: 本文介绍了Java中多态...建议通过阅读相关的Java教材或搜索资料,进一步了解与多态相关的高级主题,如抽象类和接口等内容。 如有疑问,可以参考Java官方文档或向技术论坛寻求帮助,进一步加深对多态的理解。

    Java面向对象知识点的思维导图

    这个资源是一个Java面向对象知识点的思维导图,它涵盖了Java中面向对象编程的核心概念和重要知识点。导图中包含了类、对象、继承、多态、封装等基本概念,同时也包括了接口、抽象类、异常处理、泛型等高级特性。这个...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    第一部分 走近Java 第1章 走近Java / 2 1.1 概述 / 2 1.2 Java技术体系 / 3 1.3 Java发展史 / 5 1.4 展望Java技术的未来 / 9 1.4.1 模块化 / 9 1.4.2 混合语言 / 9 1.4.3 多核并行 / 11 1.4.4 进一步丰富...

    JAVA实习报告(2).docx

    一、实习目的及意义 进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,巩固大学所学专业的...

    Java实习报告资料.doc

    哈尔滨理工大学管理学院信息系 实习报告 班级 信息13-4 姓名 赵军 学号 1306040428 2016年 7月 15日 一、实习目的及意义 进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经 验。...

    Java实习报告(1).doc

    哈尔滨理工大学管理学院信息系 实习报告 班级 信息13-4 姓名 赵军 学号 1306040428 2016年 7月 15日 一、实习目的及意义 进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经 验。...

    Java毕业设计-java论坛管理系统设计(源代码+论文).rar

    本资源提供了一个基于Java的论坛管理系统的完整设计与实现方案。该系统采用主流的Java技术栈,包括Spring Boot、MyBatis、MySQL等,实现了用户注册、登录、发帖、评论、管理员管理等核心功能。同时,系统还提供了...

    基于Java实现的(GUI)飞机大战小游戏【100013206】

    本课程设计通过代码实现将理论知识和具体实践相结合,巩固提高了对JAVA的相关方法与概念的理解,进一步加强了学生的发散思维及动手能力,加强了学生对计算机及软件工程的进一步了解。 在这个课程设计中,使用类、...

    Java数据结构和算法中文第二版(1)

    在每一章后都有问题和练习,使读者有机会测试自己的理解程序。 【原 书 名】 Data Structures & Algorithms in Java 【原出版社】 SAMS 【作 者】[美]Robert Lafore [同作者作品] [作译者介绍] 【译 者】 计晓...

    JAVA本地监听与远程端口扫描(源代码+论文).zip

    这为网络安全分析提供了一个直观的视图,帮助用户理解网络活动并识别潜在的安全威胁。远程端口扫描功能则用于检测远程主机上的开放端口,这对于评估远程系统的安全性至关重要。通过发送特定的网络请求并分析响应,...

    Java课程设计报告员工信息管理系统.docx

    JAVA是一个面向对象的程序设计软件,它将重点放在数据和对象的接口上,与C++相比的主要不同在于多继承,在JAVA中,取而代之的是简单的接口,以及JAVA的元类模型。这也很大程度上给我们初学编程的人带来很呆的方便,...

Global site tag (gtag.js) - Google Analytics