首先我们得明确,java中有53个关键字,包括2个保留字:goto、const。保留字指的是在java开发中没有被使用但同样不能被程序员用来当做变量的名称。而另外的51个已经被定义的关键字则各有各的用法,鉴于各种用法普及度不同,今天在这里只介绍几种常用的关键字。
首先是访问修饰符的关键字:public 公有的
protected 受保护的
private 私有的
他们都是修饰某个类中所定义的变量(或方法),其中public所定义的变量(或方法)是使用最为广泛的,可以达到跨包使用,也就是另外一个文件夹的类里面也可以调用该变量(或方法);第二个是protected,它所定义的变量(或方法)相比起public来说适用范围要小一点,仅限于包内使用,但是可以跨文件,相比起private来说还算是开放一点;private只能在文件内(也就是类)使用,在其他类中要使用必须通过构造方法传参数过去。最后,如果不加任何修饰符,默认的修饰符是protected。
接下来是类、接口、抽象类以及他们之间的继承关系和实例化方法的关键字:
class interface abstract class extends implements new
class代表类,即一个文件,文件名与class后的类名必须一样,类是java的主要结构,所有的程序都是在class中运行。其中一个class还会提供主函数入口 public static void main(String args[]){}
interface是接口,接口中只需定义一些属性或方法,不需要他们的实现方法,这些都将在继承他们的类中进行实现。
abstract class是介于class和interface之间的一个抽象类,可以说,class中必须是全部实现了的方法,而interface中必须是全部没有实现的方法。而abstract class中则既可以存在实现了的方法,也可以存在未实现的方法。在某些程序中,用abstract class在class和interface中过渡,能够起到很好的缓冲作用。
至于他们之间的继承,首先,abstract class也是一种类,所以可以把它归类到类中去。这样的话,类继承类要用extends,类继承接口要用implements,接口继承接口要用extends。可以同时继承多个接口,但只能继承一个类。
最后,定义了一个类A,要创建它的对象a,则代码格式如下:A a = new A();
包的关键字:package import
package在一个文件的最开头,指的是该文件所在的当前文件夹名,方式为:package 包名;所谓java中的库函数就是由一个一个的包组成的,在用到它们的时候就需要引入,这就得介绍import。import相当于c语言中的#include,既可以引入系统所定义的包内文件,也可以引入自己所定义的包。方式为:import 包名;
接下来是运用最广泛的数据类型的关键字:
byte char short int long float double boolean void null
byte是字节类型,由八位二进制组成,一个byte类型变量能存储的范围是-128~127;
char是字符类型,由八位二进制组成,*******************************;
short是短整型,占2个字节,范围为-2^15~2^15-1;
int是整型,占4个字节,范围为-2^31~2^31-1;
long是长整型,占8个字节,范围为-2^63~2^63-1;
float是单精度型,占4个字节;double是双精度型,占8个字节;
boolean是布尔型,它的值只有true或false,占2个字节;
void是空类型,对方法名来说,如果不需要返回值,则返回类型会定义为void;
null是空值,对于所有非数值类型创建对象时,如果不给于初值,则都会定义为null,另,如果不需要函数的返回值,也可以写成:return null;
条件循环:
if else while for switch case default do break continue
if是条件分支语句,如果if(boolean){}内的布尔数据判断为真的话,就执行{}里的命令,否则不执行,经常和if配套使用的有else:if(){}else{}指的是如果条件为真,执行if内的语句,否则执行else内的语句;
while经常与do配用,有两种形式while()do{}和do{}while(), while()do{}和if差不多,都是当括号里的条件为真时执行大括弧的命令,do{}while()则有所区别,差异在于不管条件是否为真,程序都会先运行一次,再来判断,为真,则继续,否则停止。
for循环的格式为for(1;2;3){}其中1是一个表达式。该表达式只在执行循环前被执行一次。2是一个Boolean表达式。如果2是true,则{}内的命令被执行。如果2是false,则循环结束。3是一个表达式。在每次经过循环的最后执行该递增表达式。
switch、case、default常用做一对循环结构,代码格式为:
switch(int i);//switch()某个变量,必须是数值类型
//case 后面加数值,比如说:case 0:System.out.println("0");就是当i=0时打印0;
case i1: do something;
case i2: do something;
……
default: do something;
//default的意思是当i不取case中的任何一个值时程序采取的命令,拥有default语句的程序更加完善;
还有break和continue,这两个关键字是可以用在任何一个循环结构里面的。continue的意思是跳出当前循环,并进行下一次循环;而break则是直接终止循环;其实像switch语句的每条case后面都必须加一个break,否则当执行了这一条语句,接下来也会执行下一条case语句。
修饰方法、类、属性和变量
static final super this
在java里面有父类和子类的概念,所以super和this的存在就为他们之间建立关系提供方便了。假设父类中有一个方法A(){},那么在子类中可以通过super关键字来调用方法A:super.A();this指的是当前调用该方法的对象,假设当前类中有一个对象b,b有一个方法B,那么在当前类中可以通过this关键字来调用方法B:this.B();
static为静态变量,它所定义的变量独立于该类的任何对象,它是被优先执行的对象,声明为static的变量实质上就是全局变量,一个很普遍的例子就是所有的程序在执行时必须通过主函数入口,所以主函数定义为public static void main(String args[]){},这就是static定义的函数,优先执行。另外static还可以创建一个静态块,该静态块也是在程序执行时被优先执行的。
final的含义是最终变量,它所定义的变量不能被任何形式改写和继承,通常在一个函数体内定义数据类型都必须用到或者是默认为final类型。另,用final定义的类是不能被继承的,用final定义的属性就是常量!
对java常用关键字的介绍就这么多了,但是java的关键字还远不止这些,在以后漫长的旅途中,我们将会进一步结识许许多多的关键字,这,就是我们在成长!