java关键字const_java基础知识(三)java关键字

关键字是电脑语言事先定义的,是特别意义的标识符,又叫保留字。用来表示一种数据类型或程序的结构等,关键字不能用作变量名、类名、方法名或参数。java目前共有50个关键字,其中"const"和"goto"这两个关键字在Java语言中并没有具体含义(未被使用)。

1、关键字总览

基本数据类型(9):boolean、char、byte、short、int、long、float、double、null

变量引用(2):super、this

类、方法、变量修饰符(15):class、abstract(类、方法)、interface、enum、static(程序块、方法、内部类、变量)、final(类、方法、常量)、extends、implements、new、strictfp、synchronized、transient、volatile、native、void

程序结构(11):if、else、for、do、while、switch、case、continue、break、return、instanceof

java包(2):import、package

访问控制(4):private(属性、方法)、default(类、属性、方法)、protected(属性、方法)、public(类、属性、方法)

异常处理(5):try、catch、throw、throws、finally

未使用(2):goto、const

2、关键字基本含义

关键字

含义

abstract

表明类或者成员方法具有抽象属性

assert

用来进行程序调试

boolean

基本数据类型之一,布尔类型

break

提前跳出一个kua

byte

基本数据类型之一,字节类型

case

用在switch语句之中,表示其中的一个分支

catch

用在异常处理中,用来捕捉异常

char

基本数据类型之一,字符类型

class

const

保留关键字,没有具体含义

continue

回到一个块的开始处

default

默认,例如,用在switch语句中,表明一个默认的分支

do

用在do-while循环结构中

double

基本数据类型之一,双精度浮点数类型

else

用在条件语句中,表明当条件不成立时的分支

enum

枚举

extends

表明一个类型是另一个类型的子类型,这里常见的类型有类和接口

final

用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变

finally

用于处理异常情况,用来声明一个基本肯定会被执行到的语句块

float

基本数据类型之一,单精度浮点数类型

for

一种循环结构的引导词

goto

保留关键字,没有具体含义

if

条件语句的引导词

implements

表明一个类实现了给定的接口

import

表明要访问指定的类或包

instanceof

用来测试一个对象是否是指定类型的实例对象

int

基本数据类型之一,整数类型

interface

接口

long

基本数据类型之一,长整数类型

native

用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的

new

用来创建新实例对象

null

用来标识一个不确定的对象

package

private

一种访问控制方式:私用模式

protected

一种访问控制方式:保护模式

public

一种访问控制方式:共用模式

return

从成员方法中返回数据

short

基本数据类型之一,短整数类型

static

表明具有静态属性

strictfp

用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范

super

表明当前对象的父类型的引用或者父类型的构造方法

switch

分支语句结构的引导词

synchronized

表明一段代码需要同步执行

this

指向当前实例对象的引用

throw

抛出一个异常

throws

声明在当前定义的成员方法中所有需要抛出的异常

transient

声明不用序列化的成员域

try

尝试一个可能抛出异常的程序块

void

声明当前成员方法没有返回值

volatile

表明两个或者多个变量必须同步地发生变化

while

用在循环结构中

3、重点介绍

1)访问权限private(私有)、default(包)、protected(包、继承)、public(公有)

c2d8f77f2ffdd6105b58e11c2d48d717.png

注意:class只能用public、default修饰,除了内部类。

2)final、finally、finalize

final用于声明属性(常量),方法和类,分别表示属性不可改变,方法不可覆盖,类不可继承(因此一个类不可以即申明为abstract,又申明为final)。

finally是异常处理语句结构的一部分,表示总是执行(需要自己在方法中添加finally执行的内容)。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等。

3)continue、break、return

continue:终止本次循环的执行,即跳过本次循环未执行的代码直接进入下次循环

break:在循环体内则是强行结束整个循环,直接转向循环下面的语句;在switch语句内则表示跳出switch语句体。

return:返回一个值给调用该方法的语句;中断函数执行,返回调用函数处

4)static、final

static是静态修饰关键字,可以修饰变量、程序块以、内部类、方法。static修饰变量时jvm会将将其分配在内存数据段上,所有程序对它的引用都会指向这一个地址而不会重新分配内存,此变量可以通过类名直接访问;当修饰一个程序块的时候(也就是直接将代码写在static{...}中)时候,虚拟机就会优先加载静态块中代码,这主要用于系统初始化;当修饰内部类的时候被称为嵌套内部类(在类博文中介绍);当修饰一个方法时候你就可以直接通过类来调用这个方法而不需要新建对象。

final可以修饰变量、方法、类(2中已有介绍)。

网上有说常量存储在PermGen space中(java常量池存放在哪里),查找可知PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误,这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。

又看到这样一篇文章

通过这篇文章java中堆栈(stack)和堆(heap)可以知道PermGen space其实就是我们java中经常说的代码区。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值