Java中的标识符
在编译过程中,经常需要在程序中定义一些符号来标记一些名称,如包名,类名,方法名,参数名,变量名等,这些符号被称为标识符。标识符可以有任意顺序的大小写字母,数字,下划线()和美元()组成,但标识符不能以数字开头,不能是java中的关键字。
下面的这些标识符都是合法的。
1 username2 username1233 user_name4 _useName5 $ username
注意,下面这些标识符都是不合法的!
123usernameclass
98.3Hello World
在java程序中定义的标识符必须要严格遵守上面列出的规范,否则程序在编译时会报错,除了上面列出的规范,为了增强代码的可读性还应遵守以下规则:
一、包名所有字母一律小写,例如cn.itcast.test.
二、类名和接口名每个单词的首字母都要大写,例如ArrayList.test。
三、常量名所有字母都要大写,单词之间用下划线连接,列如DAY_OF_MONTH。
四、变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写,例如lineNumber、getLineNUmber。
五、在程序中,应该尽量使用有意义的英文单词来定义标识符,使得城西便于阅读。例如使用userName 表示用户名,passWord表示密码。
java中的关键字
关键字是编程语言里事先定义好并赋予特殊含义的单词,也称作保留字。和其他语言一样,Java中保留了许多关键字,例如,class,public,等,下面列举的是Java中所有的关键字。
数据类型:
Boolean(布尔型)int long short byte float double char class interface(接口)
流程控制:if else do while for switch case default break continue return try(捕获异常 catch(处理异常) finally(有没有处理异常都执行)
修饰符:public protected private final void static strictfp (严格 精确) abstract(抽象的) transient(短暂) synchronized(线程 同步) volatile(易失) native(本地)
动作:package import(引入) throw(抛出一个异常对象) throws (声明一个异常对象 可能被抛出) extends(继承) implements(实现) this(本类) super(父类 超类) instanceof(实例) new
---------------------
上面列举的关键字中,每个关键字都有特殊的作用。例如package关键字用于包的声明,import关键字用于引入包,class关键字用于类的声明。在本书后面的章节将逐步对其他关键字进行讲解,在此没有必要对所有关键字进行记忆,只需要了解即可。
使用关键字时,有几个值得注意的地方:
所有的关键字都是小写的。
程序中的标识符不能以关键字命名。
可控制访问权限的四个关键字private,default,protected,public
java权限修饰符public protected private置于类的成员定义前,用来限定其他对象对该类对象成员的访问权限。
注意:1)对于class的权限修饰只可以用public和default。
2)类的成员(包括内部类)的修饰符可以是以上四种。
3)类的成员不写访问修饰时默认为 default,默认对于同一个包中的其他类相当于公开 (public),对于不是同一个包中的其 他类相当于私有(private)。
4)受保护(protected)对子类 相当于公开,对不是同一包中的没有父子关系的类相当于私有。
Java中的修饰符
1. 类修饰符
访问修饰符:公共类修饰符public
非访问控制符:抽象类修饰符 abstract 、最终类修饰符 final
(1)公共类修饰符 public : Java 语言中类的访问控制符只有 public 即公共的。每个 Java 程序的有且只有一个类是 public,它被称
为主类 ,其他外部类无访问控制修饰符,具有包访问性。注意:一个类的内部类可以被其他访问控制修饰符protected、default、
private修饰,相当于类的成员。
(2)抽象类修饰符 abstract :用 abstract 修饰符修饰的类,被称为抽象类。
(3)最终类修饰符 final :当一个类不能被继承时可用修饰符 final修饰为最终类。被定义为 final 的类通常是一些有固定作用、用来完成某
种标准功能的类。
(4)类缺省访问控制符:如果一个类没有访问控制符,说明它具有缺省的访问控制符特性。此时,这个类只能被同一个包中的类访问或引用。
这一访问特性又称为包访问性。
2.方法修饰符
访问控制修饰符:公共访问控制符public、保护访问控制符protected、缺省默认default、私有访问控制符private
非访问控制符:抽象方法控制符abstract 、静态方法控制符static 、最终方法控制符final 、本地方法控制符native 、
同步方法控制符synchronized
(1)抽象方法控制符 abstract :用修饰符 abstract 修饰的方法称为抽象方法。抽象方法仅有方法头,没有方法体和操作实现。
(2)静态方法控制符 static :用修饰符 static 修饰的方法称为静态方法。静态方法是属于整个类的类方法;而不使用static 修饰、限定
的方法是属于某个具体类对象的方法。 由于 static方法是属于整个类的,所以它不能操纵和处理属于某个对象的成员变量,而只能处理
属于整个类的成员变量,即 static 方法只能处理 static的域。
(3)最终方法控制符 final :用修饰符 final修饰的方法称为最终方法。最终方法是功能和内部语句不能更改的方法,即最终方法不能重写覆
盖。final固定了方法所具有的功能和操作,防止当前类的子类对父类关键方法的错误定义,保证了程序的安全性和正确性。所有被
private 修饰符限定为私有的方法,以及所有包含在 final 类 ( 最终类) 中的方法,都被认为是最终方法。
(4)本地方法控制符 native :用修饰符 native 修饰的方法称为本地方法。为了提高程序的运行速度,需要用其它的高级语言书写程序的
方法体,那么该方法可定义为本地方法用修饰符 native 来修饰。
(5)同步方法控制符 synchronized :该修饰符主要用于多线程程序中的协调和同步。
3.变量修饰符
访问控制符:公共访问控制符public 、保护访问控制符protected 、缺省默认访问控制符default、私有访问控制符private
非访问控制符:静态域修饰符static 、最终域修饰符 final 、易失 ( 共享 ) 域修饰符volatile 、暂时性域修饰符transient
(1)公共访问控制符 public :用 public 修饰的域称为公共域。由于 public 修饰符会降低运行的安全性和数据的封装性,所以一般应减
少 public 域的使用。
(2)私有访问控制符 private : 用 private 修饰的成员变量 ( 域 ) 只能被该类自身所访问,而不能被任何其它类 ( 包括子类 ) 所引用。
(3)保护访问控制符 protected :用 protected 修饰的成员变量可以被三种类所引用:①该类自身;②同一个包中的其它类;③其它包中
的子类。使用修饰符 protected 的主要作用是允许其它包中的子类来访问父类的特定属性。
(4) 缺省默认修饰符 :没有访问控制修饰符或用修饰符 default修饰的成员变量可以被该类本身或同一包中的其他类访问。
(5)静态域修饰符 static :用 static修饰的成员变量仅属于类的变量,而不属于任何一个具体的对象,静态成员变量的值是保存在类的内
存区域的公共存储单元,而不是保存在某一个对象的内存区间。该类的任一对象访问它时取到的都是相同的数据;该类的任一对象修改
它时 , 也都是对同一个内存单元进行操作。
(6)最终域修饰符 final :最终域修饰符 final 是用来定义常量的。一个类的域 ( 成员变量 ) 如果被修饰符 final 说明,则它的取值在程序
的整个执行过程中都是不变的。
(7)易失 ( 共享 ) 域修饰符 volatile :易失 ( 共享 ) 域修饰符 volatile是用来说明这个成员变量可能被几个线程所控制和修改。也就是说
在程序运行过程中,这个成员变量有可能被其它的程序影响或改变它的取值。通常 volatile 用来修饰接受外部输入的域。
(8)暂时性域修饰符 transient :暂时性域修饰符 transient 用来定义一个暂时性变量。其特点是:用修饰符transient 限定的暂时性变
量,将指定 Java虚拟机认定该暂时性变量不属于永久状态,以实现不同对象的存档功能。否则,类中所有变量都是对象的永久状态的一
部分,存储对象时必须同时保存这些变量。