4.Java_关键字this、super、static、final(终结器)与基本数据类型转换

一、关键字this

1.表示调用本类属性:在类中访问类的属性,一定要加上this关键字。

2.表示调用本类方法

        (1)调用普通方法:this.方法名(参数);   当有类的继承关系时,表示本类方法一定要加上this关键字。

(*****)(2)调用构造方法:this(参数) ;   注:this调用构造方法必须放在构造方法首行,并且不允许成环。

        (3)表示当前对象

二、关键字super

1.用于方法

      (1)用于构造方法(*****):表示调用父类构造方法---->super(参数列表)

                ①当子类调用父类无参构造时,super()可写可不写。

                ②当子类调用父类有参构造时,super(参数列表)必须要写,要告诉编译器当前调用的是哪个有参构造。

                               注:子类构造方法调用父类构造必须是第一行语句。

                                       this与super不可以同时调用。

     (2)用于普通方法:super.方法名(参数);     用于在子类中明确调用父类被覆写的方法。

2.用于属性(了解)

               super.属性名      --->      表示调用父类中被覆写的属性(权限不是private)

三、关键字static

1.static变量--->类属性(静态属性)

            称为类属性。保存在全局数据区中(方法区---所有对象共享区域)。通过类名调用,与对象实例化无关。

            描述共享属性使用static属性(1%)。

2.static方法--->类方法(静态方法)

            通过类名调用,与对象实例化无关。常见于工具类方法:Person.fun();    Arrays.arraycopy(......);

注:局部变量不能用static修饰。static与private均不能加载到外部类之上,内部类可以。

四、关键字final---终结器

1.final修饰类String类以及8大基本数据类型的包装类,Integer

  • 当一个类被final修饰,表示该类不能拥有子类(该类不允许被继承)。
  • 一旦一个类被final修饰,该类的所有方法都会被默认加上final(成员变量不会加上final)。

2.final修饰方法

  • 当一个方法被final修饰,明确表示该方法不允许被覆写。
  • 当一个方法被private修饰后,相当于加了一个final关键字。

3.final修饰属性---常量

(1)final修饰普通数据类型的成员变量(最主要的用途)

  •                             被final修饰的成员变量必须在声明时初始化,并且初始化后值不能被修改。
  •                             声明时如果不初始化,可以通过构造方法、构造块初始化。
  • final   变量------->常量(值不能改变,每个对象都有自己的final变量,在对象产生时初始化)
  • static final-------->全局常量(所有对象共享此变量,并且在类加载时初始化,效率较高,通过类名调用),全局常量命名规范:多个单词全大写,单词间以_间隔。

(2)final修饰引用数据类型的变量(值不能改变)。

五、数据类型转换

当使用+、-、*、/、%运算操作时,遵循如下规则:

只要两个操作数中有一个是double类型的,另一个将会被转换成double类型的。

如果两个操作数中有一个是float/long类型的,另一个将会被转换为float/long类型的,并且结果也是float/long类型。

否则,操作数为byte、short、int、char,两个数都会被转为int类型的,并且结果也是int类型的,但是final修饰的域不会发生变化。

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_40408483/article/details/83509595