其他修饰符

public 可以修饰属性、方法、构造方法、类
protected 可以修饰属性、方法、构造方法
default 可以修饰属性、方法、构造方法、类
private 可以修饰属性、方法、构造方法(如果修饰构造方法全为私有,则该类不支持被继承)
abstract 可以修饰方法、类
final 可以修饰属性、方法、类

abstract

  1. abstract修饰类时,这个类只能声明引用、不能创建对象,可供子类继承(多态)
  2. abstract修饰方法,抽象方法没有实现({}),只有声明(abstract void method();),供子类去覆盖实现
    总结:
  • 如果一个类具有抽象方法,那么这个类就必须是抽象类,但抽象类不一定有抽象方法
  • 如果一个类继承抽象类,但若这个类不希望成为抽象类,这个类就必须实现父亲类中所有的抽象方法
  • 抽象类也拥有构造方法,供子类用super()调用
  • 抽象方法可以使方法的声明和实现部分分离,声明提取到父类,实现留在子类,则更好的体现子类的共性放在父类的设计思想

    final修饰符

    1.final修饰方法:用final修饰的方法不能被子类覆盖,但可以被继承
    2.final修饰类:用final修饰的类不能被继承
    3.final修饰变量:
    修饰局部变量:一旦赋值就不能更改(常量)
    修饰成员变量:用final修饰的类的成员变量,没有默认值,可以通过初始化赋值一次。如果只声明而没有初始化赋值,就必须在所有构造方法里赋值或用static修饰的代码块

    接口interface

    接口:接口是一个特殊的抽象类
    注意:

  1. 接口中所有的方法都是公开抽象方法(public abstract 方法名,可以省略不写)
    (在jdk8后接口中可以有default、static方法. jdk9后几口中可以有private方法) 变态不?
  2. 接口中的属性都是公开静态常量(public static final 常量名 ,可以省略不写)
  3. 接口中没有构造方法,而抽象类中有构造方法
  4. 一个类实现一个接口,如果这个类不希望成为一个抽象类,则就必须实现接口中的所有方法

    接口的特性:
  5. 接口之间可以定义多继承关系(接口之间的继承仍然是用extends,用“,”分隔)
  6. 一个类在继承另外一个类的同时,还能实现多个接口此时多个接口之间用“,”隔开

    接口的作用:
  7. 实现多继承(注意不全是多继承,例如一个类不可能有两个方法名相同、参数表相同、放回值类型相同的两个方法,所有就要求继承多个父类时,父类如果有相同方法时,就会出错)
  8. 接口是一个标准(提高编程的弱耦合性)
  9. 定义接口就是定义一个标准,就把标准的实现者和标准的使用者分离,从而形成弱耦合关系

4. java基础之修饰符的更多相关文章

  1. java基础之修饰符和内部类

    1.java修饰符 /* 修饰符: 权限修饰符:private,默认的,protected,public 状态修饰符:static,final 抽象修饰符:abstract 类: 权限修饰符:默认修饰 ...

  2. Java基础-访问修饰符

    访问修饰符 default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符.使用对象:类.接口.变量.方法. private : 在同一类内可见.使用对象:变量.方法. 注意:不能修饰类( ...

  3. JAVA基础_修饰符

    引言:Java的修饰符根据修饰的对象不同,分为类修饰符.方法修饰符.变量修饰符,其中每种修饰符又分为访问控制修饰符和非访问控制修饰符.访问控制存在的原因:a.让客户端程序员无法触及他们不应该触及的部分 ...

  4. java基础之 修饰符

    一.访问修饰符 Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java 支持 4 种不同的访问权限. 1.default (即缺省,什么也不写): 在同一包内可见,不使用任何修 ...

  5. Java 基础 面向对象修饰符和自定义数据类型

    不同修饰符使用细节 常用来修饰类.方法.变量的修饰符如下: public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是 ...

  6. java中的修饰符和基本数据类型

    1.java中的修饰符 java中的修饰符主要是用来对类资源进行一个权限控制,上面表格表现的很清晰,无需多言. 2.java中的基本数据类型 java中的数据类型分为引用类型和基本类型.基本数据类型有 ...

  7. Java中的 修饰符

    java中的修饰符分为类修饰符,字段修饰符,方法修饰符. 根据功能的不同,主要分为以下几种. 1.权限访问修饰符  访问权限的控制常被称为具体实现的隐藏 把数据和方法包进类中,以及具体实现的隐藏,常共 ...

  8. 深入理解Java的protected修饰符

    其实Java的protected修饰符,权限定义的很微妙,大致有以下几种: (1)protected控制符用于修饰方法和成员变量: (2)一个类的protected方法或成员变量,在包外是不能通过该类 ...

  9. java访问权限修饰符

    作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × ja ...

随机推荐

  1. css3学习——一列固定宽度且居中

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  2. 转:OAuth2 深入介绍

    OAuth2 深入介绍 1. 前言 2. OAuth2 角色 2.1 资源所有者(Resource Owner) 2.2 资源/授权服务器(Resource/Authorization Server) ...

  3. 时至今日,我们应该承认.Net目前的状况实在堪忧

    一:  .Net之前 .Net 经历了多年的锤炼,语言特性本身非常优雅和完善,也是非常甜品的一种语言 二:  .Net现状 但是与此同时,.Net的生态日益糟糕,困扰着广大.Neter 三:   .N ...

  4. centos使用yum存储快速安装MySQL

    RHEL/CentOS 7.x MySQL yum库 https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm RHEL ...

  5. 第六章 jQuery选择器

    jQuery选择器概述: 选择器jQuery基础,在jQuery中,对事件处理,遍历DOM和Ajax操作都依赖于选择器. 什么是jQuery选择器: jQuery选择器拥有良好的浏览器兼容性,不用使用 ...

  6. BZOJ 1191: [HNOI2006]超级英雄Hero(二分图匹配)

    1191: [HNOI2006]超级英雄Hero Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 6263  Solved: 2799[Submit][ ...

  7. 【ES5 ES6】使用学习

    [ES5 ES6]使用学习 转载: ============================================================= 1.Promise 2.下划线转驼峰,驼 ...

  8. 区块链学习——HyperLedger-Fabric v0.6环境搭建详细教程

    v0.6 的架构相对简单,适合作为实验或学习来使用. 一.环境准备 一台云服务器(笔者使用的是阿里云的1核-2GB内存) Go语言环境 Docker安装 docker-compose安装 二.环境搭建 ...

  9. centos7 启动停止命令

    apache启动systemctl start httpd停止systemctl stop httpd重启systemctl restart httpd mysql启动systemctl start ...

  10. tinymce插件preview改造增加全屏按钮

    近期需要用到tinymce的preview插件,但preview出来的界面太小了,通过投影仪出来看的不清晰,于是想在preview的预览界面中增加全屏.放大和缩小的按钮,改造内容如下: 由于previ ...