为什么java的接口的方法是public abstract修饰?

  1、首先要明白接口的定义和作用是什么:

              接口定义:接口是一个全部由抽象方法组成的集合,里面都是抽象方法和常量,用interface修饰。

              接口作用:作为一种规范类的“协议”,规范实现类,增强扩展性。

          知道接口的定义和作用的话,那就不难理解为什么接口中的方法是pubilc abstract 修饰的了,这样的话,接口相对应的实现类就得按照接口的规范来实现,具体细节不接口不管,只管按照这个规范来实现。

          如果接口中的方法是抽象方法,抽象方法是没有方法体,也就是不管实现类的方法体里是什么,只要按照接口的这个规范来写方法名即可,不在意方法体里怎么写。

          好比电脑的USB插槽,电脑主机哪里管你USBU盘是什么型号,多大内存,哪个牌子,哪个国家产的,只要符合主机的插槽大小,插上去就能用,不管你U盘的细节。

    

为什么属性是public static final 修饰?

  1、这也和接口的定义和作用相关。前面已经说了接口的定义和作用了,那么

      final:因为这是在接口里,接口就是一种规范,就不能随意改变值,所以用final修饰属性,用final修饰的属性,叫常量。

      static:1、因为接口是不能创建对象的,只能用static来使接口中的常量能通过接口名来访问。2、是和java的语法有关,如果类C实现了接口A和接口B,接口A、B又有相同变量N,那么可以通过接口名来进行区分。

为什么java的接口的方法是public abstract修饰?为什么属性是public static final 修饰?的更多相关文章

  1. Java反射-修改字段值, 反射修改static final修饰的字段

    反射修改字段 咱们从最简单的例子到难, 一步一步深入. 使用反射修改一个private修饰符的变量name 咱们回到主题, 先用反射来实现一个最基础的功能吧. 其中待获取的name如下: public ...

  2. Java中final与 static final 修饰的常量的区别

    喵喵开车,新手上路,多多关照.有任何错误请在评论区指出. ...........................................我是万恶的分界线( • ̀ω•́ )✧......... ...

  3. java基础 接口私有方法

    /** * 问题描述: * 我们需要抽取一个共有方法,用来解决两个默认方法之间重复代码的问题 * 但是这个共有方法不应该让实现类使用,应该是私有化的. * * 解决方案: * 从java 9开始,接口 ...

  4. java 8 接口默认方法

    解决问题:在java8 之前的版本,在修改已有的接口的时候,需要修改实现该接口的实现类. 作用:解决接口的修改与现有的实现不兼容的问题.在不影响原有实现类的结构下修改新的功能方法 案例: 首先定义一个 ...

  5. Java中接口作为方法的返回

    在<算法>中的散列表一节,在用拉链法实现散列表的API时要求实现以下一个方法: public Iterable<Key> keys() 我们知道Iterable是一个接口,那么 ...

  6. java里的static/final含义

    java里的static/final含义 static static可以修饰:属性,方法,代码段,内部类(静态内部类或嵌套内部类) static修饰的属性的初始化在编译期(类加载的时候),初始化后能改 ...

  7. java 28 - 7 JDK8的新特性 之 接口可以使用方法

    JDK8的新特性: http://bbs.itcast.cn/thread-24398-1-1.html 其中之一:接口可以使用方法 interface Inter { //抽象方法 public a ...

  8. Java中接口的实现问题

    1.Java 接口的访问权限 interface A{}//接口A包访问权限 public interface A{}//接口A公有访问 interface A{ void function1(): ...

  9. 为什么类和接口不能使用private和protected?接口的方法不能使用private、protected、default

    对于java程序员来说,java的访问权限修饰词public.protected.default.private的区别和使用肯定都不是问题,这里也不再啰嗦了,反正度娘一搜就一大把.最近在整理java ...

随机推荐

  1. openstack trove weekly meeting时间即将更改

    为了平衡英国.巴黎.德国.美国和中国开发者的作息习惯,openstack trove项目组在5月18日的weekly meeting上开始讨论新的开会时间. 当前的开会时间是,周三 UTC 18:00 ...

  2. kubele常用配置

    KUBELET_OPTS="--logtostderr=true \--v=4 \--hostname-override=10.83.52.147 \--kubeconfig=/usr/lo ...

  3. mysql字符类型总结及常用字符函数

    常用字符串函数: concat(s1,s2,s3..)       连接s1,s2,...sn为一个字符串 INSERT(str,x,y,instr)将字符串str从x位置开始,y个字符串替换为字符串 ...

  4. Windbg 大改版,值得期待

    早上从twitter上面看到一篇文章,看到windbg会提供一个Time Travel Debugging(TTD) 功能,该功能会在未来的版本引入. Time travel debugging: I ...

  5. POJ 1200 Crazy Search 字符串的Hash查找

    第一次涉及HASH查找的知识 对于字符串的查找有很多前人开发出来的HASH函数,比较常用的好像是ELF 和 BKDR. 这道题没想到突破点是在于其nc值,告诉你组成字符串的字母种类. 还有用26进制, ...

  6. SQL基础教程(第2版)第5章 复杂查询:练习题

    /* 下面是解答示例 */ -- 创建视图的语句 CREATE VIEW ViewPractice5_1 AS SELECT product_name, sale_price, regist_date ...

  7. 每天一杯C_C89、C99、C11等之C语言标准

    C语言的伟大之处在于C语言还是一个国际标准,这只“无形的手”掌控者其他派生语言和计算机的各个方面.起关于C语言被发明之后,ANSI和ISO相继发布关于C语言的标准.关于C90和C99,C89和C99容 ...

  8. python+Sqlite+Dataframe打造金融股票数据结构

    5. 本地数据库 很简单的用本地Sqlite查找股票数据. DataSource类,返回的是Dataframe物件.这个Dataframe物件,在之后的业务,如计算股票指标,还需要特别处理. impo ...

  9. 去掉select在苹果手机上的原生样式

    outline: none; -webkit-appearance: none; 该属性会去掉select所有的默认样式,包括下拉箭头,因此需要通过额外的样式控制下拉箭头

  10. POJ-1015 Jury Compromise(dp|01背包)

    题目: In Frobnia, a far-away country, the verdicts in court trials are determined by a jury consisting ...