static final常量、抽象方法、抽象类

  1. static final常量:应用率高

     
    1. 必须声明同时初始化

    2. 由类名点来访问,不能被改变

    3. 建议:常量名所有字母都大写,多个单词用_分隔

    4. 编译器在编译时会将常量直接替换为具体的值,效率高

    5. 何时用:数据永远不变,并且经常使用
       

      public class StaticFinalDemo {
          public static void main(String[] args) {
              System.out.println(Aoo.PI); //常常通过类名点来访问
              //Aoo.PI = 3.14159; //编译错误,常量不能被改变
              
              //1)加载Boo.class到方法区中
              //2)静态变量num一并存储到方法区中
              //3)到方法区中获取num的值并输出
              System.out.println(Boo.num);
      
              //编译器在编译时会将常量直接替换为具体的值,效率高
              //如下语句相当于:System.out.println(5);
              System.out.println(Boo.COUNT);
          }
      }
      
      //演示常量的特点
      class Boo{
          public static int num = 5; //静态变量
          public static final int COUNT = 5; //常量
      }
      
      //演示常量的语法
      class Aoo{
          public static final double PI = 3.14;
          //public static final int NUM; //编译错误,常量必须声明同时初始化
      }
  2. 抽象方法:

    • 由abstract修饰

    • 只有方法的定义,没有具体的实现(连{}都没有)

  3. 抽象类:

    • 由abstract修饰

    • 包含抽象方法的类必须是抽象类

    • 抽象类不能被实例化(new对象)

    • 抽象类是需要被继承的,派生类:

      • 重写所有抽象方法-----------------变不完整为完整

      • 也声明为抽象类--------------------一般不这么做

    • 抽象类的意义:

      • 封装共有的属性和行为---------------代码复用

      • 为所有派生类提供统一的类型------向上造型(代码复用)

      • 可以包含抽象方法,为所有派生类提供统一的入口(能点出来),同时达到强制必须重写的目的(相当于制定了一个标准)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值