JAVA总结--java基本语法
static :静态的~
static :静态变量、静态方法;
被修饰的成员变量或者方法独立于该类的任何对象,只要该类被加载,被修饰的成员变量或者方法就存在并可以使用。
用public修饰的static成员变量和成员方法本质是全局变量和全局方法;
static变量前可以有private修饰,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法或中非静态成员方法使用,但是不能在其他类中通过类名来直接引用;
public或private是访问权限限定,static表示不要实例化就可以使用;
静态变量或者静态方法仅仅会初始化一次,静态变量会被所有所有的对象共享使用;
同时,不推荐实例化的对象,去访问或者操作静态字段。
类名.静态方法名(参数列表...)
类名.静态变量名
static :静态代码块、static代码块;
在类中,不在方法体内,任意位置,一处或者多处,JVM加载类时会执行这些静态的代码块,按顺序执行,且只执行一次。
static :static class、静态内部类;
非静态内部类是不可以声明静态成员的(属性和方法);
非静态内部类,可以随意的访问外部类中的成员变量与成员方法,即便是私有的也可以,但静态内部类对外部类的访问是有局限的,如不能访问外部类的非静态成员与变量;
final:最终的~
final:final类、final方法
final类,不能被继承,不会有子类,意味着其成员方法没有机会被覆盖,默认都是final的。
final方法,若某一方法,想被子类使用,但是不想被子类覆盖,可以写成final方法
final:final变量(常量)
用final修饰的成员变量表示常量,值一旦给定就无法改变!
static final用来修饰成员变量和成员方法,可简单理解为“全局常量”“全局方法”
对于变量,表示一旦给值就不可修改,并且通过类名可以访问。
对于方法,表示不可覆盖,并且可以通过类名直接访问。
但是,如果用在了集合等容器上,不可以改变容器变量本身,但可以修改容器中存放的对象!
transient:短暂的~
transient的变量不会被自动序列化(Serializable)进行持久化;但可以被非自动序列化(Externalizable)的进行持久化;
Externalizable:Serializable接口的子类,重写writeExternal()和readExternal(),必写无参数构造函数,
序列化: 将数据结构或对象转换成二进制串的过程
反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程
volatile:易变的~
volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值;当成员变量发生变化时,强迫线程将变化值回写到共享内存;强制维持变量的同一个值
原理:volatile关键字就是提示VM,对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员变量交互;线程有自己的内存,自己的私有拷贝;
instanceof 与 isInstance
obj.instanceof(class)判断该对象是否是该类或其父类的对象;class.inInstance(obj)这个对象能不能被转化为这个类;
在本质使用上没有区别,只是,一个是操作符,一个是类的方法。
JAVA总结--java基本语法的更多相关文章
- java(二、基础语法和基本数据类型)
Java 基础语法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如,一 ...
- Java基础之基础语法
前言:Java内功心法之基础语法,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 一个Java程序可以认为是一系列对象的集合,而这些对象通过调 ...
- java与c#的语法对比
1,命名空间与包 C#为了把实现相似功能的类组织在一起,引入了命名空间的概念(namespace) Java中与此对应的东西叫做包(package) 2,类的访问控制方面的不同 C#只有两种:publ ...
- java 复习整理(一 java简介和基础语法)
现在公司用的是封装太多东西的平台开发,觉着之前学的东西很多都忘了,所以想好好总结回顾一下.之前总是想学很多编程语言像python.s6.node.react,但现在越来越体会到编程语言只是一个开发的工 ...
- Java的12个语法糖【转】
本文转载自公众号 Hollis 原创: 会反编译的 Hollis 侵权删 本文从 Java 编译原理角度,深入字节码及 class 文件,抽丝剥茧,了解 Java 中的语法糖原理及用法,帮助大家在学 ...
- Java同C#的语法不同之处
Java同C#的语法不同之处... [注:转载而来但原出处不详:若是您原创请联系我]1,命名空间与包 C#为了把实现相似功能的类组织在一起,引入了命名空间的概念(namespace) Java中与此对 ...
- Java中的标签语法(类似于C语言goto循环体)
Java中的标签语法(少用) 101到150的质数 此法类似于C语言中的GOTO循环 public static void main(String[] args) { int count=0; //标 ...
- Java基础2-基本语法
复习 jvm : 虚拟机 --> sandbox jre : jvm + 核心类库 jdk : jre + 工具,javac java path: 操作系统搜索路径 classpath: jav ...
- [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)
如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html 谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...
- 【Java】Java XML 技术专题
XML 基础教程 XML 和 Java 技术 Java XML文档模型 JAXP(Java API for XML Parsing) StAX(Streaming API for XML) XJ(XM ...
随机推荐
- 移动端适配 rem
前置知识: 物理像素(physical pixel,device pixel) 物理像素(设备像素),显示设备中一个最微小的物理部件.每个像素可以根据操作系统设置自己的颜色和亮度. 设备独立像素(de ...
- zabbix命令之:zabbix_get命令
zabbix_get命令是在server端用来检查agent端的一个命令,在添加完主机或者触发器后,不能正常获得数据,可以用zabbix_get来检查能否采集到数据,以便判断问题症结所在. zabbi ...
- 【串线篇】spring boot嵌入式Servlet容器自动配置原理
EmbeddedServletContainerAutoConfiguration:嵌入式的Servlet容器自动配置? @AutoConfigureOrder(Ordered.HIGHEST_PREC ...
- YNOI2016:掉进兔子洞 (莫队+bitset)
YNOI2016:掉进兔子洞 题意简述: 有 m 个询问,每次询问三个区间,把三个区间中同时出现的数一个一个删掉,问最后三个区间剩下的数的个数和,询问独立. 注意这里删掉指的是一个一个删,不是把等于这 ...
- 超级POM
在一个有POM的文件夹下执行: mvn help:effective-pom 会输出一个超级POM文件,可以就该文件,进行分析.
- spring security基本知识(四) WebSecurity
1.创建一个Filter 现在web.xml文档中声明一个filter class="org".springframework.web.filter.DelegatingFil ...
- Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)
Percona Xtrabackup备份mysql大数据库(完整备份与增量备份) 文章目录 [隐藏] Xtrabackup简介 Xtrabackup安装 Xtrabackup工具介绍 inno ...
- Django框架架构总览
Django框架架构总览 理解Django是如何运作的 条目创建于 2013-08-14 1464 views 服务器君一共花费 15.204 ms 进行了 4 次数据库查询,努力地为 ...
- Spring Batch Hello World
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11995146.html Project Directory Maven Dependency < ...
- [原创]PHP代码修正之CodeSniffer
目录 参考链接 介绍 安装 使用 命令行模式 PHPStorm 让编辑器使用PSR-2标准 集成phpcbf 参考链接 PHP开发规范之使用phpcbf脚本自动修正代码格式 在PhpStorm中使用P ...