不能用来修饰interface的有( )(仅限外部接口)
正确答案: A C D

  • A private

  • B public

  • C protected

  • D static

解析:

1、抽象类中的抽象方法(其前有abstract修饰)不能用private、static、synchronized、native访问修饰符修饰。原因如下:抽象方法没有方法体,是用来被继承的,所以不能用private修饰;static修饰的方法可以通过类名来访问该方法(即该方法的方法体),抽象方法用static修饰没有意义;使用synchronized关键字是为该方法加一个锁。。而如果该关键字修饰的方法是static方法。则使用的锁就是class变量的锁。如果是修饰类方法。则用this变量锁。但是抽象类不能实例化对象,因为该方法不是在该抽象类中实现的。是在其子类实现的。所以。锁应该归其子类所有。所以。抽象方法也就不能用synchronized关键字修饰了;native,这个东西本身就和abstract冲突,他们都是方法的声明,只是一个吧方法实现移交给子类,另一个是移交给本地操作系统。如果同时出现,就相当于即把实现移交给子类,又把实现移交给本地操作系统,那到底谁来实现具体方法呢?

2、接口是一种特殊的抽象类,接口中的方法全部是抽象方法(但其前的abstract可以省略),所以抽象类中的抽象方法不能用的访问修饰符这里也不能用。而且protected访问修饰符也不能使用,因为接口可以让所有的类去实现(非继承),不只是其子类,但是要用public去修饰。接口可以去继承一个已有的接口。

题考察修饰符,函数定义等,故从网上搜罗了下相关资料,总结如下:



类的修饰符整合

一.类

类的修饰符:

Public:可以在其他任何类中使用,默认为统一包下的任意类。

Abstract:抽象类,不能被实例化,可以包含抽象方法,抽象方法没有被实现,无具体功能,只能衍生子类。

Final:不能被继承。

二.变量

变量修饰符:

一个类的成员变量的声明必须在类体中,而不能在方法中,方法中声明的是局部变量。

  1. 可访问修饰符:

  2. static:类变量:一个类所拥有的变量,不是类的每个实例有的变量。类变量是指不管类创建了多少对象,系统仅在第一次调用类的时候为类变量分配内存,所有对象共享该类的类变量,因此可以通过类本身或者某个对象来访问类变量。

  3. final:常量。

  4. volatile:声明一个可能同时被并存运行的几个线程所控制和修改的变量。

实例变量:和类变量对应,即每个对象都拥有各自独立的实例变量。

三.方法:(和变量对象分为实例方法和类方法,并用有无static修饰区别)

类方法:使用static关键字说明的方法

1.第一次调用含类方法的类是,系统只为该类创建一个版本,这个版本被该类和该类的所有实例共享。

2.类方法只能操作类变量,不能访问实例变量。类方法可以在类中被调用,不必创建实例来调用,当然也可以通过对象来调用。

实例方法:实例方法可以对当前对象的实例变量操作,而且可以访问类变量。

方法可以重载,要求:方法名相同,但是参数必须有区别。(参数不同可以使类型不同,顺序不同,个数不同)

方法的返回类型:若无返回类型,则声明为void.

方法中的变量作用域:

  1. 成员变量:整个类。

  2. 局部变量:定义起到方法块结束为止。

  3. 方法参数:整个方法或者构造方法。

  4. 异常处理参数:参数传递给异常处理方法。

构造方法:和类同名的方法。为新建对象开辟内存空间后,用于初始化新建的对象。不能用对象显式的调用。

静态初始化器:格式:static{<赋值语句组>}

不能用来修饰interface修饰的方法相关推荐

  1. 【Android 安全】DEX 加密 ( Proguard keep 用法 | Proguard 默认混淆结果 | 保留类及成员混淆结果 | 保留注解以及被注解修饰的类/成员/方法 )

    文章目录 一.Proguard 默认混淆结果 二.Proguard 保留类及成员混淆结果 三.Proguard 保留注解以及被注解修饰的类/成员/方法 更多 ProGuard 混淆配置参考 : htt ...

  2. 不能用来修饰interface的有

    不能用来修饰interface的有( )(仅限外部接口) 题目:不能用来修饰interface的有( )(仅限外部接口) A private B public C protected D static ...

  3. python @修饰符_python函数修饰符@的使用方法解析

    python函数修饰符@的作用是为现有函数增加额外的功能,常用于插入日志.性能测试.事务处理等等. 创建函数修饰符的规则: (1)修饰符是一个函数 (2)修饰符取被修饰函数为参数 (3)修饰符返回一个 ...

  4. JavaSE——面向对象进阶(封装、this、static、代码块、包、权限修饰符、main方法详解)

    第2节 面向对象进阶 一.封装与private 概述: 封装的意义在于保护或者防止代码(数据)被我们无意中破坏.保护成员属性,不让类以外的程序直接访问和修改. 封装原则: 隐藏对象的属性和实现细节,仅 ...

  5. java static 修饰变量吗_Java面试 - static 修饰的变量和方法有哪些特点?

    1.static修饰的变量和方法,在类加载时即被初始化,可直接通过类名.变量名和类型.方法名进行调用. 2.static修饰的变量,在类加载时会被分配到数据区的方法区.类的实例可共享方法区中的变量.如 ...

  6. 接口interface修饰符相关问题总结

    1.抽象类中的抽象方法(其前有abstract修饰)不能用private.static.synchronized.native访问修饰符修饰. 原因如下: 抽象方法没有方法体,是用来被继承的,所以不能 ...

  7. python修饰符的理解_python函数修饰符@的使用方法解析

    这篇文章主要介绍了python函数修饰符@的使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python函数修饰符@的作用是为现有函数增 ...

  8. java默认修饰符_java默认方法的修饰符是什么

    默认什么都不加,就是default(不用把default写出来). 意思就是只能由跟这个类在同一个包中的类来访问,比private限制更少,但比protected限制更多.' Java访问修饰符包括p ...

  9. java 修饰_Java 修饰符

    摘录自http://www.runoob.com/java/java-modifier-types.html Java 修饰符 Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰 ...

最新文章

  1. LSTM 为何如此有效?这五个秘密是你要知道的
  2. 1.在Linux下如何使用软盘、光盘以及DOS等非Linux分区
  3. PAT——个位数统计(1021)
  4. python巡检脚本juniper_python实现巡检系统(solaris)示例
  5. python类型转换异常捕捉_Java中的异常
  6. 用高精度方法计算n! ,并显示n!(阶乘)的值。
  7. django ORM创建数据库方法
  8. java jframe tab_java Swing实现选项卡功能(JTabbedPane)实例代码
  9. 跳转后退_羽毛球后退步法常见问题及解决方法
  10. access mysql 升迁_随说秋色园从Access升迁到MSSQL过程
  11. 田逸:坎坷IT路 从机修工到系统管理高手『英雄故事』
  12. Electron实现桌面日历
  13. 如何压缩PDF文件的大小
  14. Scrapy 爬取阳光热线问政平台存储为json 文件(使用 CrawlSpider)
  15. 服务器是计算机硬件嘛,什么是服务器,服务器是软件还是硬件?
  16. uniapp中app分享小程序方法
  17. Aho-Corasick 多模式匹配算法、AC自动机详解
  18. CSS3 文字与字体相关样式
  19. vim配置即.vimrc文件的配置及vim操作技巧
  20. 关于20年吉林电赛D题硬件电路的分享

热门文章

  1. nico老是显示服务器升级,Nico会员服务条款
  2. 安全生产预警系统软件解决方案
  3. linux路由配置秘籍,最新最全秘籍:如何提升路由器信号强度?
  4. 浏览器中修改视频播放速度
  5. 程序员之天梯排行榜,你在哪一级?
  6. jmp怎么做合并的箱线图_如何在JMP中给箱线图(Box Plot)快速着色
  7. 创业计划书和商品计划书PPT模板-朴尔PPT
  8. c语言计算日出日落时间_日出日落时间 计算软件 日出日落时间计算公式
  9. Java学习之路-day21 IO流02
  10. 拍照前打闪的注意事项