Java 关键字总结 (1)

来源:互联网 发布:淘宝网美容泛石刮沙板 编辑:程序博客网 时间:2024/05/01 04:26

1 final数据:
    1>对于基本类型前加以final修饰,表示被修饰的变量为常数,不可以修改。一个既是static有是final的字段表示只占据一段不能改变的存储空间。
    2>final用于对象应用时,final使应用恒定不变。一旦引用被初始化指向一个对象,就无法再把它指向另一个对象。
    3>final方法:一是把方法锁定,以防止继承类修改它的含义,二是确保继承中使方法行为保持不变,并且不会被覆盖。类中所有的private方法都隐式地指定为是final。
    4>final参数:对于基本类型的变量,这样做并没有什么实际意义,因为基本类型的变量在调用方法时是传值,也就是说你可以在方法中更改这个参数变量而不会影响到调用语句,然而对于对象变量,却显得很实用,以为对象变量在传递时是传递其引用,这样你在方法中对对象变量的修改也会影响到调用语句的对象变量,当你在方法中不需要改变作为参数的变量时,明确使用final进行声明,会防止你无意的修改而影响到调用方法。
    5>final类:当将某个类的整体定义为final时,就表明了该类不允许被继承。
  
2 this 和super
    1>在你的方法中的某个刑参名与当前对象的某个成员有相同的名字,这时为了不至于混淆,你便要明确使用this关键字来指明你要使用某个成员,使用方法是this.成员名,而不带this的那个便是刑参。另外,还可以用this.方法名来引用当前对象的某个方法,但这时this就不是必须的了,你可以直接用方法名来访问那个方法。
    2>当父类的方法被重写后可以用super来调用父类的方法。如果父类的方法可以被子类调用,那你可以象使用this一样使用它,用super.父类中的成员名的方式来调用。
    3>super和this直接在其后跟上适当的参数,因此它的意义就有了变化。super后加参数的是用来调用父类中具有相同形式的构造函数,this后加参数则调用的是当前具有相同参数的构造函数。
    4> this通常指代当前对象,super 通常指带父类。
3 static
    1>通常在一个类中定义一个方法为static,就是说无须本类的对象就可以直接调用。
    2>静态变量和静态方法类似。所有此类实例共享此静态变量,也就是说类装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间,当然对于final就另当别论了。
    3>static定义的变量会优先于任何其他非static变量,不论其出现顺序如何。
    4>static{}着是用来显式的静态变量初始化,这段代码只会初始化一次,且在类被第一次装载时。
    5>在涉及到继承的时候,会先初始化父类的static变量,然后是子类的。
    6>通常一个普通类不允许声明为静态的,只有一个内部类才可以。这时这个声明为静态的内部类可以直接作为一个普通类来使用,而不需要实例一个外部类。
4 Abstract抽象
    1>用在类的声明中来指明一个类是不能被实例化的,但是可以被其他类继承。一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现。它的用途是向子类提供通用的信息。抽象类可以包含正常的类包含的任何东西,也就是说,类和实例变量,以及带有任何修饰词的方法。只有抽象类可能有抽象方法。如果一个不是抽象的类包含一个抽象方法,那么将会出现编译错误。
       例子:如果下列的一个成立,那么一个有抽象方法:
              a.它显式的声明了一个abstract方法。
              b.它从它的直接父类继承了一个抽象方法。
              c.一个直接的类的父借口声明或继承了它的一个方法(这因此必须是abstract)
     2>如果用户声明private,static,和final方法为abstarct,编译错误将出现。不可能重设一个private方法,因为一个abstarct private 永远不能被实现。static方法总是可用的,因此必须有一个实现;static abstract 将永远没有实现。final方法不能被重设,因此不回有final abstract方法的实现。

 

 

原创粉丝点击