final 与static

final:最终的

1:修饰的类不能被继承

           提高安全性,提高程序的可读性

2:修饰的方法不能被重写

3:修饰的属性为常量::

             (1)一旦初始化,不能再被赋值,

             (2)如果只是声明一个final 常量,只能在构造方法中或代码块中赋值,

             (3)不能在普通方法中赋值。

             (4)如果有多个构造方法,每个构造方法都必须对其赋值。

             (5)习惯用大写字母表示

             (6)  存储在常量池中



static:静态的

1:static 不能放到class 前面,可以放到方法或属性前

2:如果访问控制权限允许,可以不必创建该类对象而直接用     类名.方法名()

3:静态方法只能调用静态成员变量,不能调用普通成员变量

4:static 修饰的成员变量,属于这个类的所有对象共有,一个对象改变该变量的值,其他对象的该变量的值也会改变

5:static 修饰的变量也称为类变量

6:在static 的方法中,不能有this,   this 指的是单一一个对象,而static 是所有对象共享的(不需要实例就可以访问)

7:main() 方法是静态的,因此JVM在执行main方法不需要main()方法所在的类的实例对象,main()不能直接访问该类中的非静态成员

8:static{

     }

      静态代码块,随着类的加载而加载,在加载构造方法前加载,而且只加载一次

9:成员变量与与类变量的区别:

                  (1)成员变量随着对象的创建而存在,随着对象的回收而释放

                           静态变量随着类的加载而存在,随着类的消失而消失

   (2)调用方法不同

                            成员变量只能被对象调用

                            静态变量可以被对象调用,还可以被类名调用。 
                   (3)别名不同。 
                            成员变量也称为实例变量。 
                            静态变量称为类变量。  
                    (4)数据存储位置不同。 
                           成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据. 
                           静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据. 









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值