Java关键字合集
来源:互联网 发布:linux定时执行sh脚本 编辑:程序博客网 时间:2024/04/28 01:08
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的初衷;
- 对象序列化机制(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();
1 0
- Java关键字合集
- Doxygen常用标记(关键字)合集
- Java 只是合集
- Java并发合集
- java书籍合集
- Java BigDecimal 合集
- JAVA 面试题合集
- java压缩技术合集
- Java字符串处理合集
- java并发电子书合集
- java-jvm电子书合集
- Java面试题合集
- Java学习知识合集
- java 常用工具类 合集
- java知识点博客合集
- java 常见错误合集
- Java面试题合集
- android 、java优质资料合集
- 日经春秋 20160228
- C语言中进程与系统调用
- ROS API
- 使用纯代码显示一个空白的视图
- mySQL 5.7版 解决密码登录失败Access denied for user 'root'@'localhost' (using password: NO)
- Java关键字合集
- MySQL知识(十九)——用户管理之权限表
- 7.2 functools--高阶函数和可调用对象
- JS操作浏览器剪切板内容
- PDO介绍[不包括具体使用方法]
- Manthan, Codefest 16 633D Fibonacci-ish(脑洞+stl)
- 关于Cygwin中运行sh文件出现syntax error near unexpected token `$'{\r''
- C++笔记:2
- 在VMware里面扩展Linux根目录文件系统的空间