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. if -----if else语句

    if语句是用来进行判断的,其使用格式如下: 单分支 if 判断的条件: 满足条件后要执行的代码 双分支 if 条件: 满足条件执行代码 else: if条件不满足就走这段 这里必须要插入这个缩进的知识 ...

  2. tfs增加用户

    1.windows上添加用户 2.tfs对应项目添加该用户 3.注意: 要设置服务器对应的本地安全策略   从网络上允许该用户访问

  3. Hyperledger Fabric channel配置交易

    一个超级账本区块链网络里每个channel的共享配置都是存储在一个配置交易里.每个配置交易通常被简称为configtx. Channel 配置有以下重要属性: 1.有版本标识:配置里的所有元素都有一个 ...

  4. Spring源码学习(8)——SpringMVC

    spring框架提供了构建Web应用程序的全功能MVC模块.通过实现servlet接口的DispatcherServlet来封装其核心功能实现,通过将请求分派给处理程序,同时带有可配置的处理程序映射. ...

  5. 浅谈requireJS 摘自http://www.cnblogs.com/giggle/p/5436710.html

    项目中大都使用模块化开发,requireJS作为AMD模块开发的典范,所以有必要学习下.通过一步步利用requireJS编写demo,从而学习requireJS的一个整体开发流程以及自我使用requi ...

  6. ivew Tooltip

    在使用ivew的Tooltip时发生错位,添加属性transfer,避免受父样式影响 发生如上错误时,只需添加属性transfer无需赋值

  7. 蓝牙协议分析(12)_LQ和RSSI的原理及应用场景

    在蓝牙协议栈的物理层,有这样两个比较有用的参数:LQI和RSSI.它们都是通过接收端,判断当前无线环境的质量(链路质量),以指导后续的动作.但这两个数值的计算原理和使用场景又有很大的差别. LQI ( ...

  8. epoll+socket实现 socket并发 linux服务器

    /* 实现功能:通过epoll, 处理多个socket * 监听一个端口,监听到有链接时,添加到epoll_event * xs */ #include <stdio.h> #includ ...

  9. python 类的定义 实例化 实例完后初始化

    先来看看 类的__init__, 类的__new__ , 元类的__new__的执行顺序 class TMetaclass(type): def __new__(cls,name,bases,attr ...

  10. Altium Designer 10 执行DRC发现有 Length Constraint 解决办法

    在PCB布局连线结束后,执行DRC,结果Length Constraint 报错,如图: 在Design Rules中找对应的规则约束,怎么也找不见. 其实是,在差分对进行等长蛇形绕线的步骤中,约束了 ...