Java初学(六)

一、final(最终)可以修饰类、方法、变量

  特点:final修饰类,该类不能被继承

     final修饰方法,该方法不能被重写(覆盖、重载、复写)

          final修饰变量,该变量不能被重新赋值。因这个变量成为了常量。但可以被子类访问;

  推出:常量分为:字面值常量("hello",10,true)和自定义常量(final int x=10)

  final修饰局部变量时,基本类型的值不能改变

            引用类型的地址不能发生改变,但是,该对象的堆内存的值是可以变的

二、多态中成员访问特点

  1、成员变量:编译看左边,运行看左边

  2、构造方法:创建子类对象的时候,访问父类的构造方法,对父类进行初始化

  3、成员方法:编译看左边,运行看右边

  4、静态方法:编译看左边,运行看左边(静态方法和类相关,算不上重写,所以访问还是左边)

三,图解父子类属性方法调用

Java初学(六)_第1张图片

四、接口成员特点

  成员变量:只能是常量,并且是静态的。默认修饰符:public static final,建议手动写出

  构造方法:接口没有构造方法

  成员方法:只能是抽象方法,默认修饰符:public abstract,建议手动给出(接口方法不能有主体,静态方法是类方法,故接口方法不能是静态的)

  所有的类都默认继承自Object,类Object是类层次结构的根类,每个类都是用Object作为超类

五、抽象类和接口区别

  1、成员区别:

    抽象类:

      成员变量:可以是变量,也可以是常量

      构造方法:有

      成员方法:可以是抽象,也可以是费抽象

    接口:

      成员变量:只可以是常量

      成员方法:只可以是抽象

  2、关系区别:

    类与类:继承,单继承

    类与接口:实现,单实现,多实现

    接口与接口:继承,单继承,多继承

  3、设计理念区别:

    抽象类:被继承体现的是“is a”的关系;抽象类中定义的是该继承体系的共性功能

    接口:被实现体现的是“like a”的关系;接口中定义的是该继承体系的扩展功能

你可能感兴趣的:(java)