java学习笔记 --- 面向对象3

一、创建对象是做了些什么事情?

  图解:

 

二、static关键字

   (1)静态的意思。可以修饰成员变量和成员方法。

  (2)静态的特点:      

      1、静态是随着类的加载就加载了。也是随着类的消失而消失了。

      2、静态优先于对象存在,被对象共享。

      3、因为静态先存在于内存中无法访问后来的对象的中的数据,所以静态无法访问非静态。而且内部无法书写this。因为这时对象有

          可能不存在,this没有任何指向。

      4、可以通过类名调用
          既可以通过对象名调用,也可以通过类名调用,建议通过类名调用。

   (3)静态的注意事项      

      1、静态方法不能访问非静态的成员。但是非静态可以访问静态成员的。

            说明:静态的弊端在于访问出现局限性。好处是可以直接被类名调用。

      2、静态方法中不允许出现this,super关键字。

   (4)静态变量和成员变量的区别

      A:所属不同
           静态变量:属于类,类变量
           成员变量:属于对象,对象变量,实例变量
       B:内存位置不同
           静态变量:方法区的静态区
           成员变量:堆内存
       C:生命周期不同
           静态变量:静态变量是随着类的加载而加载,随着类的消失而消失
           成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失
       D:调用不同
           静态变量:可以通过对象名调用,也可以通过类名调用
           成员变量:只能通过对象名调用

三、代码块
   (1)用{}括起来的代码。
   (2)分类:
      A:局部代码块
         用于限定变量的生命周期,及早释放,提高内存利用率。
      B:构造代码块
         把多个构造方法中相同的代码可以放到这里,每个构造方法执行前,首先执行构造代码块。
      C:静态代码块
         对类的数据进行初始化,仅仅只执行一次。
   (3)静态代码块,构造代码块,构造方法的顺序问题?
      静态代码块 > 构造代码块 > 构造方法

 

posted @ 2017-03-23 13:42  皮皮虾我们上  阅读(133)  评论(0编辑  收藏  举报