java中static关键字的使用

刚又看了面向对象05的内容,主要学了static关键字的使用,发现比this更难理解。

      学习之前,先了解了java使用的内存分配,有四个:栈内存(保存对象的名称),堆内存(保存对象的具体内容/属性),全局代码区(存放所有方法)和全局数据区(存放static类型的属性)。

 

      在类中写的一个属性,如果使用static声明,则表示此属性为公有属性,即:所有对象都可以访问该属性。  使用static定义的属性或方法,可以通过类名称直接调用。比如:类.static 属性,类.static 方法,在程序运行时时直接使用类的名称,证明只有static类型的方法才能直接使用类的名称来调用这个方法。

 

      不好理解的一点是:静态方法不能调用非静态属性或方法,即非静态变量不能在静态方法中出现。非静态方法可以调用静态属性或方法。

    

      static方法中不要出现this调用。

      PS:用static关键字可以定义类变量和类方法。

  

       另外学习了四种代码块:

       普通代码块:是写在一个方法中的代码块。

       构造块:直接写在类中的一语句块,构造块优先于构造方法执行,可以执行多次。

       静态块:是直接写在类中,通过static声明的语句块,优先于构造块和构造方法执行,做用是为静态属性初始化,只执行一次。(PS:一个类的静态属性只能有一个值)。

       同步代码块(多线程)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值