• Java常用关键字总结


    1、abstract

      abstract修饰类,表示抽象的意思,抽象类可以含有非抽象变量和成员变量,也可以有普通方法和构造方法,但是不能被实例化(接口),但是可以被子类继承。

    public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E> {
        ...
    }

      abstract修饰方法,表示抽象方法,抽象方法必须位于抽象类中,并且不能有具体实现。

    abstract public E get(int index);

    2、break

      break在switch中用于跳出switch块,停止switch向下穿透的现象。

    case value:expression;
        break;

      break在循环中用于跳出循环。

    while(...){
        ...
        break;
    }

      break也可以在后面接标签,用来跳出一些嵌套比较复杂的循环中。

    flag:
    for(...){
        for(...){
            break flag;
        }
    }

    3、continue

      continue用于在循环中跳过本次循环。

    while(...){
        ...
        continue;
    }

      continue也可以在后面接标签,在一些嵌套比较复杂的循环中跳过一次循环。

    flag:
    for(...){
        for(...){
            continue flag;
        }
    }

    4、final

    • 修饰变量:将变量变为常量,在初始化变量后不能再改变值。
    • 修饰方法:被final修饰的方法不能被子类重写。
    • 修饰类:被final修饰的类不能被继承。

    5、finally

      finally在try/catch语句块中处理一些后续的工作。例如关闭网络连接和输入输出流等。如果在try/catch中使用return,则finally会撤销这个return,无论如何都会执行finally中的语句。

    6、goto

      Java中的保留关键字,没有实际意义,但是不能用做变量名。在C中表示无条件跳转语句。

    7、instanceof

      instanceof用于判断类与对象的关系

      a instanceof b

    8、private

      私有的,被private修饰的变量和方法只能在此类中访问,其他类或者其他包中的类也无法访问。

    9、protected

      受保护的方法和变量只能给子类和基类访问。

    10、public

      公有的,其他子类父类或者其他包的类均能访问。

    11、return

      返回方法的数据,并结束方法。

    12、static

      static修饰的代码块主要存放于堆的方法区。

      静态变量:依附在类中的变量,可以被类的所有的实例共用。

    static int a = 0;

      静态方法:依附在类中的方法。静态方法只能访问类中的静态变量和静态方法。

    publlic static void b(){
        ...
    }

      静态块:在类加载的时候执行块中的语句,块中不能访问非静态变量。

    static{
        ...
    }

      静态内部类:用static修饰内部类。

    13、super

      引用父类的的成员:

    super.xxx

      变量或方法重名时用super调用父类的成员或方法。

      调用父类的构造方法:

    super(xxx);

    14、synchronzied

      synchronized关键字用于保证线程安全。由这个关键字修饰的方法或者代码块保证了同一时刻只有一个线程执行该代码。

    synchronized(obj){...}

      当一个线程访问同步代码块时,检查obj是否有锁,如果有就挂起。如果没有就获得这个obj的锁,也就是把其他线程锁在了外面。当代码执行完毕时释放该锁,其他线程获得锁继续执行代码。

    15、this

      指向当前对象:this.xxx

      形参和成员名字重名时时用this区分。

      引用构造函数。

    16、transient

      类接上序列化接口后,可以通过transient关键字将某些变量变得无法序列化。

    transient int a = 1;

    17、volatile

      volatile关键字修饰的变量在多线程中保持同步。相比synchronized效率要高,不会阻塞线程。但只能保证数据的可见性,不能保证数据的原子性。例如在处理i++的时候另外一个线程修改i的值,那么i的值将会发生错误,这是原子性导致的。

    volatile int a;
  • 相关阅读:
    ES6 Promise 用法转载
    移动端滚动性能优化
    Python之禅
    Day01~15
    Python
    第一章 Java起源
    IMP-00009: 导出文件异常结束 imp
    浏览器访问网页的详细内部过程
    数据库连接池
    连接数据库 六大步骤
  • 原文地址:https://www.cnblogs.com/wuhao-0206/p/12630618.html
Copyright © 2020-2023  润新知