常量和抽象方法、抽象类

static final常量:

  1. 必须声明同时初始化
class A{
	public static final PI = 3.14;}
  1. 类名点来访问,不能被改变
    double x = A.PI;
  2. 命名规则:常量名所有字母都大写,多个单词之间用_分隔
  3. 好处:编译器在编译时将常量直接替换为具体的值,效率高
  4. 使用场景:数据永远不变、并且经常使用时设置为常量,方便以后做改动。

抽象方法和抽象类:

抽象方法

  • 由abstract修饰
  • 只有方法的定义,没有具体的实现(连{}都没有)
  • 抽象方法必须包含在抽象类中
    public abstract void show();

抽象类:

  • 由abstract修饰
  • 包含抽象方法的类必须是抽象类
    不包含抽象方法的类也可以声明为抽象类(没意义)
  • 抽象类不能被实例化
  • 抽象类是需要被继承的,一般作为超类存在

抽象类的意义:

  1. 封装派生类所共有的属性和行为--------代码复用
  2. 为所有派生类提供统一的类型----------向上造型
  3. 可以包含抽象方法,为所有派生类提供统一的入口,
    派生类的具体实现不同,但入口是一致的(方便使用超类来定义数组,可以点出相同名称的方法)

猜你喜欢

转载自blog.csdn.net/zhyue28/article/details/88559387