第六章 高级语言的特点

this关键字
    1.用于属性和形参重名
    2.用于构造方法之间相互单一调用,写在第一行
    3.this指的是当前对象,如果存在于new中,this即指本身
    4.在类中this(),是调用这个类的构造方法
static关键字   修饰属性和方法
    1.修饰属性时,全类共有,类名.属性名,直接调用
    2.静态代码块,static{代码},在类加载时,只执行一次
    3.修饰方法:(1)类名.方法名
                (2)不能在static方法内访问非static成员,不是static修饰的方法,可以访问static成员
                 (3)静态方法可以被重写,重写之后没有多态现象
                 (4)静态方法不能被非静态方法覆盖,非静态方法也不能被静态方法覆盖
funal关键字   修饰变量、方法、类、局部变量(形参,即传入的值不能在方法里改变)
    1.修饰变量:常量,值不能改变;直接赋值或在构造方法里赋值;与static连用;必须赋值,否则编译报错
    2.修饰方法:final修饰的方法不能被覆盖
    3.修饰类:final类不能被继承,Math、String类是final修饰的
abstract关键字 
    1.修饰方法,抽象方法,没有方法体:"方法名();",必须没有大括号。
    2.修饰类,即为抽象类。
          (1)含有抽象方法的类必须是抽象类;
          (2)抽象类可以含有非抽象方法;
          (3)抽象类的子类必须实现父类的抽象方法,否则,此类也必须是抽象类;
          (4)抽象类不能被实例化,但能声明引用,可以指向子类对象;
          (5)抽象类中可以有构造方法,通过子类被调用。
    3.接口 特殊的抽象类,interface 实现用implements,实现多个接口,用逗号隔开
      (1)所有的方法都是抽象方法,abstract不用写
      (2)属性都是静态常量,final、static不用写
      (3)多继承,一个类可以实现多个接口,接口之间继承用extends
    4.接口与抽象类的区别:
       (1)接口里都是抽象方法,抽象类中可以有非抽象方法;
       (2)接口可以多继承,抽象类只能单继承;
       (3)接口中的属性都是静态常量,抽象类属性是普通常量;
       (4)接口没有构造方法,抽象类中可以有构造方法。
     5.如果实现的多个接口中有相同的方法,可以通过编译,不管是实现哪个方法,执行没问题;若是方法返回值不同,则编译出错。

你可能感兴趣的:(语言)