[size=medium][/size]1、java关键字(保留字)的数目和 分类
48关键字+2个保留字
关键字罗列:{
1.关键字(48)
1.基本类型值(3):true,false,null.
2.基本数据类型(8):byte,boolean,short,char,int,long,float,double.
3.控制语句(11):
循环(5):for,do,while,break,continue.
条件(6):if,else,switch,case,default,return.
4.访问控制(3):private,protected,public.
5.类,方法和变量修饰符(12):abstract,class,extends,final,implements,
interface,native,new,static,synchronized,transient,volatile.
6.错误处理(5):catch,finally,throw,throws,try.
7.包相关(2):import,package.
8.变量引用(3):super,this,void.
9.其他(1):instanceof
2.保留字(2)
1.Goto保留字:goto是跳转的意思。
goto 保留关键字,但无任何作用。结构化程序设计完全不需要 goto 语句即可完成各种流程,
而 goto 语句的使用往往会使程序的可读性降低,所以 Java 不允许 goto 跳转。
2.Const保留字:const是静态的意思。
const 保留字,是一个类型修饰符,使用const声明的对象不能更新。与final某些类似.
}
2.几个重要关键字详讲:
{
1.访问修饰符的关键字:
public
protected
private
默认的
属性使用public进行修改后怎么调用?(属性一般定义为private,若用public修饰后,可直接通过类创建的对象修改,
而不用通过类中的方法,从而破坏类的封装)
一个类中是否可以定义两个或者两个以上的public类?(不可以)
接口中默认的访问修饰符是什么?可以不可以定义方法时使用protected或private?(public修饰符,因为是默认的,
当然就不能使用protected或private修饰了)
2.static和final关键字
static:静态的(不需要实例化对象,直接使用类名进行调用)
当一个方法被static限定时,可以直接使用类名.静态方法名()调用。
而不是static限定的方法必须先创建对象,通过对象才能够调用方法。
Static的属性又称为类属性,可以不创建类的对象而直接调用。且类的某一个对象static属性值改变后,
这个类的所有对象的属性值都会改变。(也就是说,用static声明的属性只在内存中存在一份)。
final:最终的(不可以改变值)
当final放在属性前,即表示这个属性是个常量,这个属性的值是不能改变的。
当final放在方法前,则表示当子类继承时,不可以重写这个方法。
当final放在类前时,则表示这个类不能被继承。
当一个属性要用到匿名内部类里面时,必须用final来修饰它。
使用static关键修饰变量后,循环创建10个对象输出结果是什么?原因是为什么?(输出的结果是i=0,
i=1,i=2,i=3,i=4,i=5,i=6,i=7,i=8,i=9(注意换行输出)。
那么,为什么会这样呢。这就归结于static声明的属性改变后,它在这个类中的所以属性都会改变了。
也就是在内存中上述程序中的i只占有1个内存。 )
将方法使用static关键字修饰之后,产的效果是什么?(则说明该方法属于类方法,不必创建对象,就直接可以用类调用,
格式:类名.方法名();)
static可以修饰类吗?修饰类之后的结果是什么? (不可以,将会出现这样的错误提示信息“Illegal modifier for the class A;
only public, abstract & final are permitted”)
如果将类使用final关键字修饰,结果是什么?(则表示该类为最终的类,该类不能被继承)
如果将方法使用final关键字修饰,结果是什么?(则该方法不能被重写)
3.this和super关键字
this:指向当前的对象
调用当前对象的构造方法格式:this(参数);
调用当前对象的方法:this.方法名();
系统在创建一个子类对象时,同时也创建了父类的对象,此时,可以使用super关键字引用到父类的对象从而调用父类中的方法。
super:指向当前类的父类对象,可以用它调用父类的方法或者构造方法
Super关键字还可以在子类的构造器时使用,通过super调用父类的构造器(其方法同this调用自己的构造器的方法一样)都必须在第一行,
且只能在构造器中调用一次。
4.instanceof关键字
instanceof:判断对象是否是某个类的实例
示例:
if(node instanceof TreeNode){
<statements>
}
-注释-
在上例中,如果node是TreeNode类的实例,或者是TreeNode的子类的实例,则instance表达式的值就为true.
5.null关键字:null是空。
null 是 Java 的保留字,表示无值。
将 null 赋给非原始变量相当于释放该变量先前所引用的对象。
不能将 null 赋给原始类型(byte、short、int、long、char、float、double、boolean)变量。
}
48关键字+2个保留字
关键字罗列:{
1.关键字(48)
1.基本类型值(3):true,false,null.
2.基本数据类型(8):byte,boolean,short,char,int,long,float,double.
3.控制语句(11):
循环(5):for,do,while,break,continue.
条件(6):if,else,switch,case,default,return.
4.访问控制(3):private,protected,public.
5.类,方法和变量修饰符(12):abstract,class,extends,final,implements,
interface,native,new,static,synchronized,transient,volatile.
6.错误处理(5):catch,finally,throw,throws,try.
7.包相关(2):import,package.
8.变量引用(3):super,this,void.
9.其他(1):instanceof
2.保留字(2)
1.Goto保留字:goto是跳转的意思。
goto 保留关键字,但无任何作用。结构化程序设计完全不需要 goto 语句即可完成各种流程,
而 goto 语句的使用往往会使程序的可读性降低,所以 Java 不允许 goto 跳转。
2.Const保留字:const是静态的意思。
const 保留字,是一个类型修饰符,使用const声明的对象不能更新。与final某些类似.
}
2.几个重要关键字详讲:
{
1.访问修饰符的关键字:
public
protected
private
默认的
属性使用public进行修改后怎么调用?(属性一般定义为private,若用public修饰后,可直接通过类创建的对象修改,
而不用通过类中的方法,从而破坏类的封装)
一个类中是否可以定义两个或者两个以上的public类?(不可以)
接口中默认的访问修饰符是什么?可以不可以定义方法时使用protected或private?(public修饰符,因为是默认的,
当然就不能使用protected或private修饰了)
2.static和final关键字
static:静态的(不需要实例化对象,直接使用类名进行调用)
当一个方法被static限定时,可以直接使用类名.静态方法名()调用。
而不是static限定的方法必须先创建对象,通过对象才能够调用方法。
Static的属性又称为类属性,可以不创建类的对象而直接调用。且类的某一个对象static属性值改变后,
这个类的所有对象的属性值都会改变。(也就是说,用static声明的属性只在内存中存在一份)。
final:最终的(不可以改变值)
当final放在属性前,即表示这个属性是个常量,这个属性的值是不能改变的。
当final放在方法前,则表示当子类继承时,不可以重写这个方法。
当final放在类前时,则表示这个类不能被继承。
当一个属性要用到匿名内部类里面时,必须用final来修饰它。
使用static关键修饰变量后,循环创建10个对象输出结果是什么?原因是为什么?(输出的结果是i=0,
i=1,i=2,i=3,i=4,i=5,i=6,i=7,i=8,i=9(注意换行输出)。
那么,为什么会这样呢。这就归结于static声明的属性改变后,它在这个类中的所以属性都会改变了。
也就是在内存中上述程序中的i只占有1个内存。 )
将方法使用static关键字修饰之后,产的效果是什么?(则说明该方法属于类方法,不必创建对象,就直接可以用类调用,
格式:类名.方法名();)
static可以修饰类吗?修饰类之后的结果是什么? (不可以,将会出现这样的错误提示信息“Illegal modifier for the class A;
only public, abstract & final are permitted”)
如果将类使用final关键字修饰,结果是什么?(则表示该类为最终的类,该类不能被继承)
如果将方法使用final关键字修饰,结果是什么?(则该方法不能被重写)
3.this和super关键字
this:指向当前的对象
调用当前对象的构造方法格式:this(参数);
调用当前对象的方法:this.方法名();
系统在创建一个子类对象时,同时也创建了父类的对象,此时,可以使用super关键字引用到父类的对象从而调用父类中的方法。
super:指向当前类的父类对象,可以用它调用父类的方法或者构造方法
Super关键字还可以在子类的构造器时使用,通过super调用父类的构造器(其方法同this调用自己的构造器的方法一样)都必须在第一行,
且只能在构造器中调用一次。
4.instanceof关键字
instanceof:判断对象是否是某个类的实例
示例:
if(node instanceof TreeNode){
<statements>
}
-注释-
在上例中,如果node是TreeNode类的实例,或者是TreeNode的子类的实例,则instance表达式的值就为true.
5.null关键字:null是空。
null 是 Java 的保留字,表示无值。
将 null 赋给非原始变量相当于释放该变量先前所引用的对象。
不能将 null 赋给原始类型(byte、short、int、long、char、float、double、boolean)变量。
}