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. Python的进程与线程--思维导图

    Python的进程与线程--思维导图

  2. linux 查看并对外开放端口(防火墙拦截处理)

    [转]https://blog.csdn.net/qq564425/article/details/80760528 Web应用在Tomcat部署后无法访问,可能是防火墙端口限制导致 查看端口是否可访 ...

  3. 实例:用户界面控件Kendo UI vs DevExpress对比评测一

    在一次使用ASP.NET MVC进行开发的Web项目中,我们需要用户界面控件来帮助实现界面的大部分功能.由于项目比较复杂,我们最终确定对 Kendo UI 和 DevExpress 这两款国际知名的用 ...

  4. Beta冲刺前的准备

    Beta冲刺前准备 1.讨论组长否重选的议题和结论 经过团队讨论,不重选组长.我们团队在队长的带领下积极完成任务,使得团队项目初具模型.经过alpha阶段,我们的团队从一开始的零散到如今的凝聚,通力合 ...

  5. MyBatis通过Mapper动态代理来实现curd操作

    MyBatis官方推荐使用mapper代理方法开发mapper接口,程序员不需要编写mapper实现类,使用mapper代理方法时,输入参数可以使用pojo包装对象或者map对象,保证dao的通用性 ...

  6. sql server存储过程,常用的格式

    BEGINSET NOCOUNT ON;if @_MODE NOT IN ('A','M','D') begin raiserror('参数错误!',16,3); return; end; decla ...

  7. springboot +mybatis 搭建完整项目

    springboot + mybatis搭建完整项目 1.springboot整合mybatis注解版 转:https://blog.csdn.net/u013187139/article/detai ...

  8. 周强 201771010141 《面向对象程序设计(Java)》第十一周学习总结

    实验十一   集合 实验时间 2018-11-8 1.实验目的与要求 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API: Vector类实现了长度可变的数组. Stack ...

  9. nginx和resin一二三

    最近听我们这边的开发讲解了一小下nginx和resin,现在Mark一下,可能不专业,但是对于我来说通俗易懂就好哈哈哈. 首先说服务器,服务器这个东西吧它是干啥的呢,你写的页面只能在你自己的电脑上打开 ...

  10. MYSQL列表中常用语句代码块

    查看数据表是否存在:SHOW TABLES; 显示已经打开的数据库:SELECT DATABASE(); 查看数据表结构:SHOW COLUMNS FROM ***(数据表名): 插入数据:INSER ...