Java关键字
static
当声明一个事物是static时,就意味着这个域或方法不会与包含它的类的任何对象实例关联在一起。
所以,即使从未创建某个类的任何对象,也可以调用其static方法或访问其static域。
static不能应用于局部变量,因此它只能作用于域。
如果一个域是静态的基本类型域,且也没有对它进行初始化,那么它就会获得基本类型的标准初值;如果它是一个对象引用,那么它的默认初始化值就是null。
静态变量和实例变量的区别:
静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。
总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
是否可以从一个static方法内部发出对非static方法的调用?
不能。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。
this
1.当成员变量和局部变量重名时,在方法中使用this时,表示的是该方法所在类中的成员变量。 2.可把自己当作参数传递 http://blog.csdn.net/anmei2010/article/details/4091227
final
简单地说:“这是无法改变的” http://www.cnblogs.com/dolphin0520/p/3736238.html
abstract
如果一个类中有一个抽象方法,那么这个类一定为一个抽象类。 反之,如果一个类为抽象类,那么其中可能有非抽象的方法。 如果将一个类设置为abstract,则此类必须被继承使用。此类不可生成对象,必须被继承使用。 abstract可以将子类的共性最大限度的抽取出来,放在父类中,以提高程序的简介性。abstract虽然不能生成对象,但是可以声明,作为编译时类型,但不能作为运行时类型。 final和abstract永远不会同时出现。 abstract和static不能放在一起,否则便会出现错误。(因为static不可被覆盖,而abstract为了生效必须被覆盖) 当abstract用于修饰方法时,此时该方法为抽象方法,此时方法不需要实现,实现留给子类覆盖,子类覆盖该方法之后方法才能够生效。 http://www.cnblogs.com/suneryong/p/3571362.html
instanceof
测试它左边的对象是否是它右边的类的实例,返回Boolean类型的数据。 http://rodney.cnblogs.com/archive/2005/08/18/instanceof.html
super
在java中使用super来引用父类的成分,用this来引用当前对象。 http://www.cnblogs.com/xdp-gacl/p/3635948.html
梦想要一步步来!