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 ...
随机推荐
- eclipse多个项目提交到同一个仓库(码云)
参考博客:Eclipse提交多个项目到同一个仓库 https://blog.csdn.net/qq_30764991/article/details/80379365 步骤一:码云建立个远程仓库 步骤 ...
- maven 依赖显示红线 pom文件不显示红线的一种可能问题
pom文件引用的是CDH的jar包 而没有配置CDH的仓库 导致maven找不到资源 ,依赖显示红色波浪,并且在仓库内生成了一堆.lastupdate文件 解决: 1. 删除本地仓库内所有的.las ...
- LOJ#2330 榕树之心 树形dp
瞎扯 这个题和\(\mathsf{ISIJ2019 Au}\)神仙学弟\(\mathsf{\color{red}c}\mathsf{hangruinian2020}\)争辩了半个多小时. 概括一下就是 ...
- CSS定位机制之浮动定位float
一.浮动定位实现的效果 二.使用float实现浮动定位 三.使用clear属性清除浮动定位 四.浮动定位的应用(布局) 一.浮动定位实现的效果 (一).块元素(div)在文档流中默认垂直排列,如果 ...
- makefile 赋值
= 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值
- Java——方法重写
- 配置服务器(anaconda + jupyter + R)
总结一下整体的流程: 1. 服务器安装anaconda 首先清华镜像站下载anaconda3. 2. 将下载好的文件用scp命令传入服务器 注意:指定端口用-P命令 p大写 本机地址 用户名@服务器I ...
- H-ui.admin v3.1学习之路(一):导航栏信息无法在内容区显示
注:我使用的是别人的模板文件在我的云盘“素材模板—H-ui.admin’中. 直接上代码: <li class="dropDown dropDown_hover"> & ...
- 9-10 November
cout 和 printf 在 C++ 中的实现:四舍六入五随缘.比如 printf("%.0lf\n", x=1.5) => 1. 标准做法:printf("%d ...
- 大数据笔记(十五)——Hive的体系结构与安装配置、数据模型
一.常见的数据分析引擎 Hive:Hive是一个翻译器,一个基于Hadoop之上的数据仓库,把SQL语句翻译成一个 MapReduce程序.可以看成是Hive到MapReduce的映射器. Hive ...