static和final

本文探讨了Java中的`static final`常量的特性,包括声明与初始化、访问方式、编译时优化等,并通过示例说明其用途。同时,介绍了抽象类的概念,包括抽象方法和抽象类的特性,强调了它们在代码复用和统一接口中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)static    final 常量

      static final 修饰的成为常量,应用率高,有如下特点:

         1.声明的同时必须初始化

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

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

         4.编译器再编译时自动将常量替换为具体的数,效率高

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

案例:

class Aoo{

         public static int  num = 5;   //静态变量

         public static final int COUNT = 5;   //常量

    }

class  Boo{

        public class StaticFinalDemo{

               public static void main(String[] args){

                       System.out.println(Aoo.PI);    //通过类名点来访问

                       //Aoo.PI = 3.1415926;   //编译错误,常量不能被改变

                       //1)加载Boo.class到方法区中

                       //2)静态变量num——并存储到方法区中

                       //3)到方法区中获取num的值并输出

                      System.out.println(Boo.num);

                       //编译器再编译时自动将常量替换为具体的值,效率高

                      //相当于System.out.println(5);

                     System.out.println(Boo.COUNT);

        }

}

2)抽象类:

     2.1)抽象方法:

             1.由static修饰

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

    2.2)抽象类

             1.由static修饰

             2.包含抽象方法的类必须是抽象类

             3.抽象类不能被实例化

             4.抽象类是需要被继承

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

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

             5.抽象类的意义:

                封装派生类所有共有属性和行为---------代码复用

                为所有派生类提供统一的类型------------向上造型

                可以包含抽象方法,为所有派生类提供统一的入口(能点出来)。派生类的具体行为不同,

                但入口时一致的

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值