几个重要的关键字汇总(a表示怎么用?b表示什么时候使用?c表示注意事项)
(1)abstract关键字
a.可以修饰类、方法
修饰类时:不能实例化对象;必须被子类继承;
修饰方法时:没有方法体;必须写在抽象类中;必须被子类重写,若子类不重写,也声明为抽象类;
b.一般现实中不存在的事物使用抽象类;父类方法,各子类实现方式各不相同时,则此方法在父类中声明为抽象方法;
c.不能与这些关键字一起使用:private、static、final;不能修饰构造方法;
(2)static关键字
a.可以修饰成员变量、成员方法、代码块、内部类
修饰成员变量时 ==> 静态变量: 在类加载时,给静态变量在方法区中分配空间,并赋初始值属于类所有,类的所有对象共享一个静态变量.访问方式: 类名.静态变量名
修饰成员方法时 ==> 静态方法:访问方式:类名.静态方法();
修饰代码块时 ==>静态代码块: 在类加载时执行,仅执行一次.修饰内部类时 ==>静态内部类:相当与静态变量,可以用访问修饰符修饰,访问方式:外部类名.内部类 名 引用名 = new 外部类名.内部类名()
b.静态变量: 所有对象共享一个变量.静态方法: 当一个方法中不关联任何一个成员变量时,与对象无关时;静态代码块:当需要加载某些外部资源时使用;静态内部类 可以用来访问外部静态成员;
c.静态成员不能直接访问非静态成员;
(3)final关键字
a.可以修饰类,成员方法,成员变量,静态变量,局部变量;
修饰类时: final类不能被继承;
修饰成员方法: final成员方法不能被子类重写;
修饰成员变量:给final成员变量赋值两种方式: A、 通过构造方法赋值。B 、在声明变量时直接赋值;
修饰静态变量: 在声明的同时赋值;不可改变;==》为常量 ;命名时所有的字母大写。
修饰局部变量:基本类型仅赋值一次,不可改变;引用类型引用的“地址”不能改变,不能引用其他的对象。但所引用对象的内容是可以改变;
b.当不想成员被修改时;
c.final成员变量仅赋值一次,不可改变,默认构造方法不能给他赋初始值。在显示的构造方法赋值要在所有构造方法都赋值;
(4)this关键字
a.this是一个引用,在堆区当前对象的内部存放,指代当前对象;
this可以访问对象的哪些内容this.成员变量名,this.成员方法名,构造方法中this(参数);
b.修饰成员变量和成员方法 ,可省略不写;当局部变量与成员变量同名时,访问成员变量使用"this.成员变量" 用于区分局部变量;类的构造方法中用来访问类的其他构 造方法:this(参数)写在构造方法的第一行.
(5)super关键字
a.super不是引用.super代表的是子类对象中的父类特征;可以访问父类的成员变量:super.成员变量;可以访问父类的成员方法:super.成员方法();可以访问父类的构造方 法:super(参数);
b.在子类中使用在子类的成员方法中,访问父类的成员变量或成员方法;区分与子类同名的成员变量和成员方法;在子类的构造方法中,调用父类的构造方法,必须写在子类 构造方法的第一行.
c.如果调用父类的有参构造方法:则在子类的构造方法中必须显示调用;super只能调用直接父类方法;
6.访问权限符
(1)类的访问权限:public/默认的没有,公共类在其他包中可以访问到;
(2)成员的访问权限
访问权限 |
当前类 |
当前包 |
派生类 |
其他位置 |
private |
可以 | |||
默认的 | 可以 |
可以 |
||
protected |
可以 |
可以 |
可以 |
|
public |
可以 |
可以 |
可以 |
可以 |
原文:http://www.cnblogs.com/entrepre/p/7153180.html