Java 中几个重要的关键字

Java中的关键字特别多,大致如下:

访问控制
private    protected    public

类,方法和变量修饰符
abstract    class    extends    final    implements    interface    native    new
static    strictfp    synchronized    transient    volatile

程序控制
break    continue    return    do    while    if    else    for    instanceof    switch
case    default

异常处理
try    cathc    throw    throws

包相关
import    package

基本类型
boolean    byte    char    double    float    int    long    short    null    true    false

变量引用
super    this    void

保留字
goto    const

这里主要是讲一下,我觉得需要特别注意,而且容易忽略的几个,当然面试中也常常是必考的几个关键字

1. 关键字static 静态

static 关键字可以应用于内部类(在另一个类中定义的类)、方法或字段(类的成员变量)。

通常,static 关键字意味着应用它的实体在声明该实体的类的任何特定实例外部可用。

static(内部)类可以被其他类实例化和引用(即使它是顶级类)。在上面的示例中,另一个类中的代码可以实例化 MyStaticClass 类,方法是用包含它的类名来限定其名称,如 MyClass.MyStaticClass。

static 字段(类的成员变量)在类的所有实例中只存在一次。

可以从类的外部调用 static 方法,而不用首先实例化该类。这样的引用始终包括类名作为方法调用的限定符。

模式:public final static <type> varName = <value>; 通常用于声明可以在类的外部使用的类常量。在引用这样的类常量时需要用类名加以限定。在上面的示例中,另一个类可以用 MyClass.MAX_OBJECTS 形式来引用 MAX_OBJECTS 常量。

2. 关键字synchronized 同步

synchronized 关键字可以应用于方法或语句块,并为一次只应由一个线程执行的关键代码段提供保护。

synchronized 关键字可防止代码的关键代码段一次被多个线程执行。

如果应用于静态方法,那么,当该方法一次由一个线程执行时,整个类将被锁定。

如果应用于实例方法,那么,当该方法一次由一个线程访问时,该实例将被锁定。

如果应用于对象或数组,当关联的代码块一次由一个线程执行时,对象或数组将被锁定。

3. 关键字transient短暂

transient 关键字可以应用于类的成员变量,以便指出该成员变量不应在包含它的类实例已序列化时被序列化。

当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。

Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。
     transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。

4. 关键字volatile易失

volatile 关键字用于表示可以被多个线程异步修改的成员变量。

注意:volatile 关键字在许多 Java 虚拟机中都没有实现。 volatile 的目标用途是为了确保所有线程所看到的指定变量的值都是相同的。

Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分

总结:

我觉得这几个是比较重要的,当然其他的也很重要,主要是几个容易忘却,这里烂笔头唧唧歪歪的说说。

原文查看,这里可以解释所有的关键字

时间: 2024-10-21 16:46:47

Java 中几个重要的关键字的相关文章

Java中关于原子操作和volatile关键字

Java中关于原子操作和volatile关键字 第一种:采用同步synchronized解决,这样虽然解决了问题,但是也降低了系统的性能. 第二种:采用原子性数据Atomic变量,这是从JDK1.5开始才存在的针对原子性的解决方案,这种方案也是目前比较好的解决方案了.

java中稍微有些陌生的关键字

1. instance of java中,instance of 用来指出某个对象是否为某个特定类的实例,如果是返回一个bool类型,来指出该对象是否为某个特定类或其子类的一个实例 resutl = object instance of class interface A{} class B implements A { } class C extends B { } public class InstanceOfTest { public static void main(String[] a

Java中的throws与throw关键字

作者:苗老师,华清远见嵌入式学院讲师. Java中的异常处理还是比较有意思的!就是该你管就你管,不是你该管的,最好不要越级管理!不然我这级管理存在就没有意义! Java的异常处理是通过5个关键字来实现的:try,catch,throw,throws,finally.这里我主要说一下throw,throws. throws语句 throws总是出现在方法声明时,用来标明该成员方法可能抛出异常.如果是多个异常,使用逗号隔开.对大 多数Exception子类来说,Java 编译器会强迫你声明在一个成员

Java中替代C# ref/out 关键字方案:

刚学习Java不久,今天遇到一个问题,需要在方法中修改传入的对象的值,确切的说是需要使用一个方法,创建一个对象,并把其引用返回,熟悉C#的我的第一反应就是C#中的ref/out关键字,结果发现Java中没有类似的关键字,所以只能想想如何解决此问题. 参数传递:方法的参数传递有两种,一种是值传递,一种是引用传递,但是其实都是拷贝传递. 值传递:就是把传递的[数据本身拷贝一份],传入方法中对其进行操作,拷贝的是值.引用传递:就是把指向某个对象的[引用拷贝一份],传入方法中通过此引用可以对对象进行操作

Java中的break和continue关键字使用总结

一.作用和区别 break的作用是跳出当前循环块(for.while.do while)或程序块(switch).在循环块中的作用是跳出当前正在循环的循环体.在程序块中的作用是中断和下一个case条件的比较. continue用于结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环,而不是立刻循环体. 二.其他用途 break和continue可以配合语句标签使用.这个都很简单,下面给个综合实例,看看就明白 了: /** * Created by IntelliJ IDEA. * U

java中 static,final,transient,volatile关键字的作用

static 和final static  静态修饰关键字,可以修饰 变量,程序块,类的方法: 当你定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存: 修饰一个程序块的时候(也就是直接将代码写在static{...}中)时候,虚拟机就会优先加载静态块中代码,这主要用于系统初始化:当修饰一个类方法时候你就可以直接通过类来调用而不需要新建对象. final 只能赋值一次:修饰变量.方法及类,当你定义一个final变量时,jvm会将其

Java中的Serializable接口transient关键字,及对象IO

1.什么是序列化和反序列化Serialization是一种将对象转为为字节流的过程:deserialization是将字节流恢复为对象的过程. 2.什么情况下需要序列化a)当你想把的内存中的对象保存到一个文件中或者数据库中时候:b)当你想用套接字在网络上传送对象的时候:c)当你想通过RMI传输对象的时候: 3.如何实现序列化将需要序列化的类实现Serializable接口就可以了,Serializable接口和Cloneable接口一样,不含任何方法,是个标记接口. 4.代码分析 package

谈谈java中的super和this关键字

知识点: 在java类中使用super引用父类的成分,用this引用当前对象 this可以修饰属性.构造器.方法 super可以修饰属性.构造器.方法 一:this关键字 this可以修饰属性.构造器.方法:用this引用当前对象 (1)this修饰属性,调用类的属性 //set方法public void setName(String name) { this.name = name;} //有参数构造函数 public Person(String name){ this.name=name;}

JAVA中的super和this关键字的使用

一 this关键字 this关键字可以出现在构造方法和实例方法中,不能出现在静态方法中,这是因为静态方法可以用类名来调用,这时可能还没有任何对象诞生. this主要有两种用法: 1 用在构造方法中,调用本类的其他构造方法.  格式为  this([实参列表]);   通过this调用本类的其他构造方法时,该语句必须出现在构造方法中,并且必须作为第一条语句出现. 2 代指当前对象 例如: 1 public class Person { 2 3 private String name; 4 5 pr