Java关键字合集

1、instanceof 
  • java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。
  • 对象 instanceof 类(接口);返回boolean
2、JAVA中有四个访问修饰符:default/public/private/protected
  • private       类内                              不同类  不能
  • default       类内+包内                     在不同的包中import后 也不能
  • protect       类内+包内+继承内
  • public        公共
3、volatile
  • 作用是: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值,如果一个字段被声明为volatile,Java内存模型确保所有线程看到这个变量的值是一致的。
  • 被设计用来修饰被不同线程访问和修改的变量。如果不加入volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。
4、synchronized(this) 
  • 这里的this是指当前对象,刚开始运行这段代码的时候会给这段代码加个锁,这样即使运行到中间被替换了,另一个线程也不会执行这段代码,因为这段代码加锁了,而钥匙在给代码加锁的那个线程手里,只有加锁的线程运行完这段代码,才会给代码解锁.然后其他线程才能执行这段代码。
5、static
  • 在类中用static声明的成员,表明该成员不属于任何类的对象,有该类构造各个对象共享这个成员;同时如果是成员方法,也不可以使用类中定义的非static方法,因为这件违背static的初衷;
6、Serizlizable 
  • 对象序列化机制(object serialization)是Java语言内建的一种对象持久化方式,可以很容易的在JVM中的活动对象和字节数组(流)之间进行转换。除了可以很简单的实现持久化之外(类对象状态存储到一个数据库中或文件中,很明显这是以文件流的方式进行传输),另外序列化机制的另外一个重要用途是在远程方法调用中,用来对开发人员屏蔽底层实现细节。
7、public static void main
  • 该函数所在的类应该是一个综合调用的类,它不应该使用package关键字,即包含进一个包(否则如果我们运行该类的main将会很复杂,需要输入java +(class绝对路径)才能正常运行程序,而且不能移动这个class的位置);最多就是使用import;而对于其它的类随便正常使用即可;将java程序移植一般是将整个工程目录进行移动所以也还好,只是涵main的class文件不能移动否则无法运行(如上所述还是使用绝对路径来执行程序);
8、hashCode方法
  • 该方法在object类中有定义,是一个native方法,即非Java语言写的方法,具体是用来返回当前对象的内存地址;
  • hashCode的返回值在MAP集合中被使用,作为对象的键,用来生成对应的哈希表的值;
  • 一些类可能会重写该方法,如integer类返回的是当前对象存储的int值,而非存储地址;
  • 注意的是如果重写了equals方法的话,如果两个对象equals方法返回值为真,则两个对象hashCode的返回值必须也相同!否则在使用MAP集合的时候会导致一些很奇怪的结果!(建议)
9、native方法
  • 一类不是用Java语言编写的方法,如C语言实现;
  • 使用场景
    • 1Java语言无法实现的功能,如过去对象的内存地址
      2Java实现相对于其它语言实现代价高太多;
      3同时非Java语言编写代码也要具有平台可移植性;
  • 使用方法
    • 1Java文件中声明出native方法,同时加入载入方法;
    • 2用其它语言编写相应的方法;
10、abstract关键字
  • 抽象类:
    • abstract出现在class关键字前面
    • 如果一个类中有一个抽象方法,那么这个类一定为一个抽象类。 
    • 如果一个类为抽象类,那么其中可能有非抽象的方法。
    • 继承该抽象类的实现类必须重写(实现对应的抽象方法)
    • 注意:class中的抽象方法不能是private
  • 抽象接口:
    • abstract出现在interface关键字前面
    • 但是interface本身就是一个abstract;加不加abstract无所谓
    • 接口中的方法都是抽象方法;
    • 注意:接口中的方法必须都是public的
  • 抽象方法:
    • abstract出现在方法返回值前面
    • 该方法不能有方法体
    • 形如:public abstract void isTrue();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值