1、static修饰符
static作用于代码块:称作静态代码块(可以初始化static field,不能初始化非static field);
static作用于methods:
static方法只能访问static 方法,不能访问非static 方法
static 方法只能访问static field, 不能访问非static field
非static 方法可以访问static fields 和 static methods
static method的两种访问方式oject.method和class.method, 非static method只有object.method一种访问方式
static method中不支持this和super
static不可以作为局部变量(局部变量包括:函数级局部变量和块级局部变量)
 
2、final修饰符
final类不能被继承(不能有abstract final class)(final类内的method自动为final,但不包括属性)
final方法可以被继承但不能被override 不能有abstract final method
final属性不能被重新赋值(可以被继承,但不可以修改)定义时可以初始化,也可以不初始化,而在语句块中初始化或者构造函数中初始化(最晚要在构造函数中初始化,只能初始化一次)
final属性只能人为赋值一次继承与父类的final属性不能被修改
final可以修饰局部变量表示局部常量(方法级局部变量(形参及局部变量,方法体级局部变量)或块级局部变量)
 
3、abstract修饰符:

abstract类不能实例化对象
abstract类可以不包含abstract方法,但是只要有一个abstract方法那么该类必须为abstract类
abstract方法没有方法体,需要被override
abstract类的子类要么实现其父类全部的abstract method,要么也是一个abstract类
abstract不能修饰属性
abstract不能修饰局部变量(方法级局部变量(形参级局部变量,方法体级局部变量)或块级局部变量)
 
4、final、static、abstract之间的关系:
final、abstract不能共存(无论在类、方法、属性、局部变量上都不能共存)
static、abstract不能共存(无论在类、方法、属性、局部变量上都不能共存)
可以出现final static field(该类成员属性不能被修改)
可以出现final static method(该类成员方法不能被override)

Java中 final、static、abstract区别与联系的更多相关文章

  1. Java中 final static super this instanceof 关键字用法

    一.final关键字 final可以修饰变量.方法及类: 1.当定义一个final变量时,jvm会将其分配到常量池中,其所修饰的对象只能赋值一次,对基本类型来说是其值不可变,引用类型(包括作为函数形参 ...

  2. java修饰符public final static abstract transient

    JAVA 修饰符public final static abstract transient  关键字: public final static abstract ...  1.public prot ...

  3. Java中 final和static解析

    一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理 ...

  4. 转 Java中final、finally、finalize的区别与用法

    Java中final.finally.finalize的区别与用法   1.简单区别:final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承.finally是异常处理语句结构 ...

  5. 【Java面试题系列】:Java中final finally finalize的区别

    本篇为[Java面试题系列]第三篇,文中如有错误,欢迎指正. 第一篇链接:[Java面试题系列]:Java基础知识常见面试题汇总 第一篇 第二篇链接:[Java面试题系列]:Java基础知识常见面试题 ...

  6. Java中final,finally和finalize区别

    Day11_SHJavaTraing_4-18-2017 Java中final,finally和finalize区别 1.final—修饰符(关键字) ①final修饰类,表示该类不可被继承 ②fin ...

  7. java中ArrayList 、LinkList区别

    转自:http://blog.csdn.net/wuchuanpingstone/article/details/6678653 个人建议:以下这篇文章,是从例子说明的方式,解释ArrayList.L ...

  8. 再议Java中的static关键字

    再议Java中的static关键字 java中的static关键字在很久之前的一篇博文中已经讲到过了,感兴趣的朋友可以参考:<Java中的static关键字解析>. 今天我们再来谈一谈st ...

  9. Java中final修饰的数据

    目录 Java中final修饰的数据 有初始值的final域 final+基本数据类型 final+引用数据类型 final与static final 空白final域 final修饰的参数 基本数据 ...

  10. Java中的static的使用

    Java中的static使用之静态变量 神话丿小王子的博客主页 1.Java 中被static修饰的成员称为静态成员或类成员.它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享.且优先于对象 ...

随机推荐

  1. 简洁的实现ls-l命令

    现在我们来简洁的实现命令:了解一下相关知识: 我们使用掩码可以很明确的得出文件的每一种信息.关于掩码,上图中的S_IRUSR等均为掩码.我们来看看函数getpwuid,原型:struct passwd ...

  2. java学习大方向

    总结Java程序员成长之路   转载  http://bbs.javazhijia.com/topic/1bb0733f80d94aedb50cc3b66d9792b6.html 我也搞了几年JAVA ...

  3. UnityHub破解

    1.退出UnityHub,安装好nodejs执行以下命令 npm install -g asar 2.打开UnityHub安装目录如 C:\Program Files\Unity Hub\resour ...

  4. App.js实现使用js开发app的应用,此文是中文文档

    在阅读前,在此说明下,本人英文一直不好,所以该文档是借助翻译工具翻译的,阅读起来可能有点不好,请各位谅解,哪位大神有标准的中文文档请分享下 Github下载地址:https://github.com/ ...

  5. c#栈和队列习题

    3.1 比较线性表.栈和队列这三种数据结构的相同点和不同点. 栈(Stack)是限定只能在表的一端进行插入和删除操作的线性表.队列(Queue)是限定只能在表的一端进行插入和在另一端进行删除操作的线性 ...

  6. 吴裕雄 python神经网络(6)

    import randomimport numpy as npnp.random.randint(0,49,3) ##required libarariesimport tensorflow as t ...

  7. php挖掘数据编码问题

    if(json_encode($jkkey) == 'null'){//判断不是utf8会返回空 $jkkey=mb_convert_encoding($jkkey,'utf-8','gbk'); } ...

  8. Python 爬虫常用模块

    1. fake_useragent #pip install fake_useragent requests 2.图展示 pip install pyecharts pip install pyech ...

  9. flume 使用手册

    以下jie皆来自官网: 1:首先版本是flume 1.8 查看版本:  bin/flume-ng version 2:配置与启动 https://flume.apache.org/FlumeUserG ...

  10. springMVC :interceptors

    1.配置拦截器 在springMVC.xml配置文件增加:     <mvc:interceptors>    <!-- 日志拦截器 -->    <mvc:interc ...