1. 接口是引用数据类型
  2. 接口中可以放
    1. 静态常量

      1. 默认添加public static final
  1. 接口中默认方法 default必须写
  2. 使用步骤:
    1. 接口不能New对象需要一个实现类 实现接口
    2. 实现类中必须重写接口中所有的抽象方法
    3. 通过实现类调用方法
  3. JDK1.7
    1. 常量
    2. 抽象方法

接口的组成

  • 常量

    • public static final 返回值类型 方法名
  • 抽象方法
    • public abstract 返回值类型 方法名
  1. JDK1.8

    1. 常量
    2. 抽象方法
    3. 默认方法(新增)public default 返回值类型 方法名()
    4. 静态方法(新增)public static 返回值类型 方法名()
      • 静态方法只能通过接口名调用,不能通过实现类名或者对象名调用
      • public可以省略,static不能省略
  2. JDK1.9

接口中的私有方法

  1. 普通私有:

private 返回值类型 方法名(参数列表)

  1. 为了给默认方法中的公共代码提取,实现代码的复用
  1. 静态私有

    1. private static 返回值类型 方法名(参数列表) {   }
    2. 作用:给静态方法中公共代码提取。

私有方法不能被外部访问,为什么还需要私有方法?

  • 复用,易维护

接口作为方法参数和返回值使用的情况:

1、接口作为方法参数使用:

可以传所有实现类对象,所以具体使用的都是接口的实现类对象

2.接口作为返回值类型使用:

可以返回所有实现类对象:所以具体使用的都是接口的实现类对象

Java个人对接口的理解相关推荐

  1. Java中 多态的理解

    ** Java中 多态的理解 ** 多态官方定义为: 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指 ...

  2. 【转载】谈谈我对Java中CallBack的理解

    谈谈我对Java中CallBack的理解 转载自: http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html CallB ...

  3. Java基础-我所理解的泛型

    Java基础-我所理解的泛型 引用 [java]泛型中,? extends T 与 ? super T 的区别.看法_winrh的博客-CSDN博客_泛型 extends 前言 Java基础系列,我所 ...

  4. Java 回调函数的理解

    以下是我对java回调函数的理解,希望对各位有帮助. 简而言之,假设有两个类A与B,还有一个回调接口C(有一个c方法).其中A类持有一个B类对象作为属性和拥有一个a方法,并实现了接口C,所以A类中就有 ...

  5. Java常量字符串String理解

    Java常量字符串String理解 以前关于String的理解仅限于三点: 1.String 是final类,不可继承 2.String 类比较字符串相等时时不能用" == ",只 ...

  6. 谈谈对java中分层的理解_让我们谈谈网页设计中的卡片设计

    谈谈对java中分层的理解 "I want a card", this is the first demand point that the customer said in th ...

  7. 【转】java提高篇(二)-----理解java的三大特性之继承

    [转]java提高篇(二)-----理解java的三大特性之继承 原文地址:http://www.cnblogs.com/chenssy/p/3354884.html 在<Think in ja ...

  8. Java类加载机制的理解

    算上大学,尽管接触Java已经有4年时间并对基本的API算得上熟练应用,但是依旧觉得自己对于Java的特性依然是一知半解.要成为优秀的Java开发人员,需要深入了解Java平台的工作方式,其中类加载机 ...

  9. java程序运行三步骤 理解编译

    java程序运行三步骤 理解三步骤 中国人向日本人采购口罩的案例 二人直接沟通 语言不通,鸡同鸭讲 有了翻译以后 可以正常沟通 可以正常处理事情了 回头看三步 通过类比的方式,描述三步骤 什么是源码 ...

最新文章

  1. react native redux 梳理
  2. Linux下undefined reference to ‘pthread_create’问题解决
  3. linux和windows互传文件 、用户配置文件和密码配置文件 、用户与用户组管理
  4. 我用AI回怼美女汽车销售系列[yolo车牌识别](四)
  5. The way of Webpack learning (IV.) -- Packaging CSS(打包css)
  6. 【开源】iTest教学辅助系统源代码
  7. springboot工程的热部署
  8. 《who Who Are You Working For》(你在为谁工作)
  9. “等等党”的春天到了?高端显卡暴降35% 华强北商家:还会继续降
  10. datagrid 重载本地数据_jQuery easyui datagrid重新加载数据
  11. 使用u盘安装linux操作系统原理
  12. C语言程序设计学习笔记:P1-程序设计与C语言
  13. js-面向对象的程序设计,函数表达式
  14. Oracle 字符集 原理及问题解决 (全)
  15. 大智慧新一代 分笔数据提取工具 更新
  16. C++中如何区分左值和右值
  17. HDTunePro汉化版温度显示不正常后需要更改
  18. 4.微信小程序-B站:先把首页造出来
  19. 回顾2011,展望2012
  20. 用C语言编程画出图形,C语言图形编程(六) -图形程序设计实例:零件图形的绘制...

热门文章

  1. Python之简单飞机行李托运计费系统
  2. GIT-Bonobo.Git.Server的使用
  3. 苹果平板做ppt方便吗_苹果手机和平板有什么软件可以做笔记
  4. 中学物理教学参考杂志社中学物理教学参考编辑部2022第9期目录
  5. Python ISBN号概述,校验位计算,10位-13位转换,验证,连字符,及常用库isbnid,isbnlib,isbntools的使用
  6. unity中移动部件靠近时触发动画,模型替换特效演示
  7. 移动安全学习教程:移动安全学习框架
  8. linux系统:can't create transaction lock on /var/lib/rpm/.rpm.lock 错误
  9. PageRank网页排名算法
  10. java导出word实现方式一,在jsp中实现