.interface文件怎么看啊_【干货】Java关键字合集,看这篇就够了!

69075b72c78b31a1b018e054c80ef6f9.gif 04e584ae5019b985be89ddbaa5901083.png往期 精彩回顾

【Java软件】这几款编程软件决定你的编程路能走多远!

最好的Python开发编辑器都在这里,肯定有你没用过的!

【福利】Java集合+Spring+开源...最新面试题干货整理!

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();
95b5b59190aa9c7a5246f610e2232683.gif

关注视频号,每日分享IT干货,一分钟零基础入门Java、Python~

如果你觉得我写的不错或者对您有所帮助的话

不妨点赞、收藏、加关注哈

您的每个举动都是对我莫大的支持

???

1ffd96c97ecb839df5db99dcee242d69.png

我知道你 在看哦 a37964d643b0928b96902626c02052f8.gif
Java语言中的关键字是指具有特殊含义的单词,这些单词在Java程序中具有特定的用途,不能作为标识符或变量名使用。Java中共有50个关键字,其中包括48个保留关键字和2个特殊关键字。 以下是Java中的各种关键字: 1. abstract:用于定义抽象类和抽象方法。 2. assert:用于调试程序时进行断言判断,如果条件不成立将会抛出AssertionError异常。 3. boolean:用于定义布尔类型变量,只能取值true或false。 4. break:用于跳出循环语句。 5. byte:用于定义字节类型变量,取值范围为-128到127。 6. case:用于在switch语句中匹配选项。 7. catch:用于捕获异常。 8. char:用于定义字符类型变量。 9. class:用于定义类。 10. const:Java虽然保留了此关键字,但并没有使用,因此不能用于定义常量。 11. continue:用于跳过循环中的某个迭代。 12. default:用于switch语句中的默认选项。 13. do:用于定义do-while循环。 14. double:用于定义双精度浮点类型变量。 15. else:用于if语句中条件不成立时执行的代码块。 16. enum:用于定义枚举类型。 17. extends:用于继承一个类或实现一个接口。 18. final:用于定义常量或不可变的变量,或者修饰类、方法、变量等,表示其不可再被继承、重写或修改。 19. finally:用于定义无论是否有异常发生都需要执行的代码块。 20. float:用于定义单精度浮点类型变量。 21. for:用于定义for循环。 22. goto:Java虽然保留了此关键字,但并没有使用,因此不能跳转到标签。 23. if:用于定义条件语句。 24. implements:用于实现一个接口。 25. import:用于导入其他类的定义。 26. instanceof:用于判断一个对象是否属于某个类或实现了某个接口。 27. int:用于定义整型变量。 28. interface:用于定义接口。 29. long:用于定义长整型变量。 30. native:用于调用本地方法。 31. new:用于创建一个对象。 32. package:用于定义包。 33. private:用于定义私有成员,只能在当前类中访问。 34. protected:用于定义受保护的成员,只能在当前类及其子类和同一个包中访问。 35. public:用于定义公共成员,可以被任何类访问。 36. return:用于从方法中返回值。 37. short:用于定义短整型变量。 38. static:用于定义静态成员,只有一个拷贝,可以通过类名直接访问。 39. strictfp:用于声明浮点数计算具有严格的规范化行为。 40. super:用于引用父类的成员。 41. switch:用于定义switch语句。 42. synchronized:用于定义同步方法或同步代码块。 43. this:用于引用当前对象。 44. throw:用于抛出异常。 45. throws:用于声明方法可能抛出的异常。 46. transient:用于声明不需要持久化的变量。 47. try:用于定义异常处理代码块。 48. void:用于定义无返回值的方法。 49. volatile:用于声明变量是易变的,即每次访问都需要从主存中读取。 50. while:用于定义while循环。 以上就是Java中的各种关键字,这些关键字Java程序中起着非常重要的作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值