abstract:
    表明类或者成员方法具有抽象熟悉。
 
    修饰类,抽象类:
        抽象类不能被实例化;
        抽象类中可以有属性、方法、构造,都是用来给子类继承的;
        抽象类中的方法不一定全是抽象方法;
        抽象类可以继承抽象类。
 
    修饰方法,抽象方法:
        抽象方法没有方法题;
        抽象方法不需要自己实现,需要子类来实现;
        抽象方法必须出现在抽象类中;
        一个类继承抽象类必须实现其所有的抽象方法。
 
应用场景:
    父类知道子类包含某个方法,但不知道子类如何实现方法的情况下;
    从多个具有相同特性的类中抽象出一个抽象类,以这个类作为其他子类的模版,从而避免子类设计的随意性。
 
目的/作用:
    不关注子类的实现,但约束子类,必须有哪些特征;
    限制规定子类必须实现某种方法,但不关注实现细节。
 
使用规则:
    1.abstract定义抽象类
    2.abstract定于你抽象方法,只声明,不需要实现
    3.包含抽象方法的类就是抽象类
    4.抽象类中可以包含普通方法,也可以没有抽象方法
    5.抽象类不能直接创建,定义一个引用变量只想一个子类的对象
 
transient:
    将不许被序列化的字段使用transient进行修饰;
    修饰后的字段的生命周期仅存于调用者的内存中,而不会写到磁盘里持久化。
 
    一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量在序列化后将无法获得访问。
    transient只能修饰变量,不能修饰类或方法;本地变量不能被transient关键字进行修饰。变量如果是用户自定义类的变量则该类需要实现Serializable接口。
    
    被transient修饰的变量不再能被序列化,一个静态变量不论是否被transient修饰,均不能被序列化。
 
final:
    修饰变量:
        被final修饰的变量必须赋初始值,且变量名要大写。
        初始化可以有三种方式:
            1.定义时赋值
            2.构造中赋值
            3.在静态代码块中为final实例变量赋值
        final修饰的变量为常量,值不可修改,对于对象变量来说其引用不可变,即不能再指向其他对象,但是对象的值是可以改变的。
 
    修饰方法:
        当父类的方法被final修饰时,子类不能重写其方法;
        final修饰的方法可以被重载。
    
    修饰类:
        当一个类被final修饰后,子类不能继承这个类。
 
static:
    static方法:
        static方法一般称为静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,业务他不依附于任务对象;
        在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为他们都必须依赖具体的对象才能够被调用;
        但是非静态成员方法中可以访问静态成员方法/变量。
 
    static变量:
        static变量也称为静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象共享,在内存中只存在一个副本,他只有在类被初次加载是被初始化。而非静态变量是对象所拥有的,在创建对象是被初始化,存在多个副本,而各个对象的副本互不影响。
 
    static代码块:
        使用静态代码块从而优化程序性能。
        static代码块可以放到类中的任何地方,类中可以有多个static代码块,在类初次被加载的时候,会按照static代码块的顺序来执行每个static代码,并且只会执行一次。

Java 关键字详解(持续更新中)的更多相关文章

  1. PHP编译参数configure配置详解(持续更新中)

    编译参数-使用 ./configure -h在源代码目录中,该命令可以查看所有编译参数以及对应的英文解释 编译参数-说明 --prefix=/opt/php //指定 php 安装目录--with-a ...

  2. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

  3. java关键字(详解)

    目录 1. 基本类型 1) boolean 布尔型 2) byte 字节型 3) char 字符型 4) double 双精度 5) float 浮点 6) int 整型 7) long 长整型 8) ...

  4. java关键字详解----static

    Java Static关键字详解   提起static关键字,相信大家绝对不会陌生,但是,想要完全说明白,猛的一想,发现自己好像又说不太明白... ...比方说,昨天被一个同学问起的时候... ... ...

  5. Java List详解,面试中应该如何解答关于List的问题

    对于面试,我们在介绍Java的List的时候,一般需要介绍到,什么是List?List包括什么?各自在用法上有什么区别,在存储上有什么区别?List需要注意什么?把这些问题串起来,我们可以这样介绍: ...

  6. MyBatis逆向工程代码的生成以及使用详解(持续更新)

    逆向工程简介什么是逆向工程:        mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java.ma ...

  7. Java 关键字详解

    Java 关键字是 Java 语言中被赋予特殊意义的一些单词(每个关键字都代表着不同场景下的不同含义),不可以把它当作标识符来使用(不能用作变量名.方法名.类名.包名和参数名等).Java 中的关键字 ...

  8. Java基础知识(持续更新中...)

    1.成员变量:全局变量/字段(Field),不要称之为属性(错误)直接定义在类中,方法外面 1.类成员变量    使用static修饰的变量 2.实例成员变量 没用使用static修饰的变量 局部变量 ...

  9. tar 命令详解(持续更新)

    可以用man tar查看tar命令使用的权威解释 Main operation mode: -c: 建立压缩档案 -r:向压缩归档文件末尾追加文件 -t:查看内容 -u:更新原压缩包中的文件 -x:解 ...

随机推荐

  1. nopcommerce 4.1 core 学习 增加商城配置属性

    需求:  原本是想用nop 来做国际版的商城,可以像亚马逊那样 国内外通用,  专门增加一个跨进元素属性. 学习里面的一些架构思想.  国内的行情还是 像himall  会比较实用. 这是在商城的综合 ...

  2. Zabbix增加邮箱后Server宕处理

    zabbix版本:4.1  DB为Mysql 过程: 1,为了增加邮件报警功能,按照网上文章,开始增加发送邮件模块.先停postfix,后安装mailx和sendmail. systemctl lis ...

  3. 责任链模式(Chain of Responsibility)

    定义:为一个请求定义含有链状关系的接受对象,基于请求的类型,松耦合发送者和接受者之间的关系. 实现方式: 首先定义一个抽象类,包括一个公共抽象行为和决定子类链状关系的属性,然后创建一系列对象继承这个抽 ...

  4. Linux 安装python3.4

    不要动现有的python2环境! 不要动现有的python2环境! 不要动现有的python2环境! 默认yum好用 默认环境不全 1. 安装环境 yum -y install zlib zlib-d ...

  5. 五、stdout,stdoin和stderr

    stdout,stdin和stderr分别是标准输出流.标准输入流和标准错误流,当一个用户进程被创建的时候,系统会自动为该进程创建这三个数据流,默认情况下这三个流是在终端上表现出来的.可以使用fpri ...

  6. 第四次:渗透练习,xss学习

    xss学习 一.学习目的 初步了解xss攻击,不包括(DOM类型) 二.附加说明 1.xss介绍 https://baike.baidu.com/item/XSS%E6%94%BB%E5%87%BB/ ...

  7. LINUX磁盘分区

    在学习 Linux 的过程中,安装 Linux 是每一个初学者的第一个门槛.在这个过程中间,最大的困惑莫过于给硬盘进行分区.虽然,现在各种发行版本的 Linux 已经提供了友好的图形交互界面,但是很多 ...

  8. Git从入门到差不多会用

    工作以后最先接触到的新东西可能就包括版本控制工具了,对Git的感觉是又敬又畏,敬是因为最初的时候都是跟着同事照猫画虎地通过开发软件图形化操作,大家都不太懂,也不知道这东西有多深奥:畏就是因为有过几次惨 ...

  9. WEB学习笔记4-前端代码基本命名规法和格式规范

    1.HTML命名规范及格式规范 标签名和属性应该都小写,虽然HTML代码不区分大小写:属性值应该用双引号闭合. <IMG src=demo.jpg alt='test'/>(N) < ...

  10. idea 从git上checkout项目下来,project没有文件目录结构

    1.去到 查看sdk有没有配置 查看该部分是否是空的,如果没有显示项目,添加导入项目