专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 一文告诉你Java中的关键字有哪些

一文告诉你Java中的关键字有哪些

更新时间:2022-11-25 12:54:08 来源:动力节点 浏览1357次

Java中的关键字有哪些?动力节点小编来告诉大家。

常用的关键字

public(公共的)

1.public 关键字是可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符。

2.可以在其他任何类或包中引用 public 类、方法或字段。

3.除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访问类成员。

protected(受保护的)

1.protected 关键字是可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符。

2.可以在声明 protected 类、方法或字段的类、同一个包中的其他任何类以及任何子类(无论子类是在哪个包中声明的)中引用这些类、方法或字段。

3.除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访问类成员。

private(受保护的)

1.private 关键字是可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符。

2.只能在声明 private(内部)类、方法或字段的类中引用这些类、方法或字段。在类的外部或者对于子类而言,它们是不可见的。

3.只能在本类内访问类成员。

用于定义类、函数、变量修饰符的关键字

abstract(生命抽象)

1.abstract关键字可以修改类或方法。

2.abstract类可以扩展(增加子类),但不能直接实例化。

3.abstract方法不在声明它的类中实现,但必须在某个子类中重写。

4.采用 abstract方法的类本来就是抽象类,并且必须声明为abstract。

final(最终、不可改变)

1.主要应用在三个地方:变量、方法、类。

2.对于一个final变量。如果是基本数据类型的变量,则其数值一旦初始化之后便不能更改;如果是引用类型的变量,则对其初始化之后便不能让其再指向另一个对象。

3.当final修饰一个类时,表明这个类不能被继承,final类中所有成员方法都会被隐式地指定为final方法。

4.使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率,在早期的java实现版本中,会将final方法转换为内嵌调用。但如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升(现在的java版本已经不再需要使用final方法进行这些优化了)。类中所有的private方法都隐式地指定为final。

static(静态)

1.在Java语言中,static主要有4中使用情况:成员变量、成员方法、代码块和内部类。

2.用static关键字修饰的静态变量和不用static关键字修饰的实例变量。静态变量属于类,在内存中只有一个复制,只要静态变量所在的类被加载,这个静态变量就会被分配空间,因此就可以被使用了。对静态变量的引用有两种方式,分别是“类.静态变量"和”对象.静态变量"。

实例变量属于对象,只有对象被创建后,实例变量才会被分配内存空间,才能被使用,它在内存中存在多个复制,只有用“对象.实例变量”的方式来引用。

3.Java中提供了static方法和非static方法。static方法是类的方法,不需要创建对象就可以被调用,而非static方法是对象的方法,只有对象被创建出来后才可以被使用。

static方法中不能使用this和super关键字,不能调用非static方法,只能访问所属类的静态成员变量和成员方法,因为当static方法被调用时,这个类的对象可能还没被创建,即使已经被创建了,也无法确定调用哪个对象的方法。同理,static方法也不能访问非static类型的变量。

4.static代码块在类中是独立于成员变量和成员函数的代码块的。注意:这些static代码块只会被执行一次

5.static(内部)类可以被其他类实例化和引用(即使它是顶级类)。

6.static与final结合使用表示的意思:

对于变量,若使用static final修饰,表示一旦赋值不能修改,并且通过类名可以访问。

对于方法,若使用static final修饰,表示该方法不可被覆盖,并且可以通过类名直接访问。

synchronized(线程、同步)

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

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

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

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

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

由于定义类与类之间关系的的关键字

extends(继承、扩展)

1.extends 关键字用在 class 或 interface 声明中,用于指示所声明的类或接口是其名称后跟有 extends 关键字的类或接口的子类。

2.子类继承父类的所有 public 和 protected 变量和方法。

3.子类可以重写父类的任何非 final 方法。

4.一个类只能扩展一个其他类。

implements(实现)

1.implements 关键字在 class 声明中使用,以指示所声明的类提供了在 implements 关键字后面的名称所指定的接口中所声明的所有方法的实现。

2.类必须提供在接口中所声明的所有方法的实现。

3.一个类可以实现多个接口。

由于定义建立实例及引用实例,判断实例的关键字

new (新,创建)

1.new 关键字用于创建类的新实例。

2.new 关键字后面的参数必须是类名,并且类名的后面必须是一组构造方法参数(必须带括号)。

3.参数集合必须与类的构造方法的签名匹配。

4.= 左侧的变量的类型必须与要实例化的类或接口具有赋值兼容关系。

this(本类)

1.this 关键字用于引用当前实例。

2.当引用可能不明确时,可以使用 this 关键字来引用当前的实例。

super(父类、超类)

1.super 关键字用于引用使用该关键字的类的超类。

2.作为独立语句出现的 super 表示调用超类的构造方法。

3.super.() 表示调用超类的方法。只有在如下情况中才需要采用这种用法:要调用在该类中被重写的方法,以便指定应当调用在超类中的该方法。

instanceof(实例)

1.instanceof 关键字用来确定对象所属的类。

用于处理异常的关键字

try(捕获异常)

1.try 关键字用于包含可能引发异常的语句块。

2.每个 try 块都必须至少有一个 catch 或 finally 子句。

3.如果某个特定异常类未被任何 catch 子句处理,该异常将沿着调用栈递归地传播到下一个封闭 try 块。如果任何封闭 try 块都未捕获到异常,Java 解释器将退出,并显示错误消息和堆栈跟踪信息。

catch(处理异常)

1.catch 关键字用来在 try-catch 或 try-catch-finally 语句中定义异常处理块。

2.开始和结束标记 { 和 } 是 catch 子句语法的一部分,即使该子句只包含一个语句,也不能省略这两个标记。

finally(必须执行)

1.finally关键字用来定义始终在try-catch-finally语句中执行的块。

2.finally块通常包含清理代码,用在部分执行try块后恢复正常运行。

3.finally块的return语句优先执行。

throw(抛出一个异常对象)

1.throw 关键字用于引发异常。

2.throw 语句将 java.lang.Throwable 作为参数。Throwable 在调用栈中向上传播,直到被适当的 catch 块捕获。

3.引发非 RuntimeException 异常的任何方法还必须在方法声明中使用 throws 修饰符来声明它引发的异常。

throws(声明一个异常可能被抛出)

1.throws 关键字可以应用于方法,以便指出方法引发了特定类型的异常。

2.throws 关键字将逗号分隔的 java.lang.Throwables 列表作为参数。

3.引发非 RuntimeException 异常的任何方法还必须在方法声明中使用 throws 修饰符来声明它引发的异常。

4.要在 try-catch 块中包含带 throws 子句的方法的调用,必须提供该方法的调用者。

用于包的关键字

package(包)

1.package 关键字指定在 Java 源文件中声明的类所驻留的 Java 包。

2.package 语句(如果出现)必须是 Java 源文件中的第一个非注释性文本。

例:java.lang.Object。

如果 Java 源文件不包含 package 语句,在该文件中定义的类将位于“默认包”中。请注意,不能从非默认包中的类引用默认包中的类。

import(引入)

1.import 关键字使一个包中的一个或所有类在当前 Java 源文件中可见。可以不使用完全限定的类名来引用导入的类。

2.当多个包包含同名的类时,许多 Java 程序员只使用特定的 import 语句(没有“*”)来避免不确定性。​​​​

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>