Java并不支持任意组合实例变量、类变量、实例方法和类方法:

  • 实例方法可以直接访问实例变量和实例方法
  • 实例方法可直接访问类变量和静态方法(类方法)
  • 类方法可直接访问类变量和静态方法(类方法)
  • 类方法不能直接访问实例变量和实例方法,必须使用对象引用访问。类方法不能使用this关键字,因为没有实例供this指向。

    5.1.1 java虚拟机调用问题

    java虚拟机会为每个变量所引用的对象调用适当的方法,但它不会调用由变量的类型定义的方法。这样调用技术成为虚拟方法调用。

    5.1.2 访问控制级别:

    顶级:public或包级私有(无显式修饰符)
    成员级:public、private、protected或包级私有(无显式修饰符)。

    5.1.3 垃圾回收小知识:

    当没有引用时候,就可以进行垃圾收集。当变量超出作用域时。通常要删除变量中保存的引用。也可以通过将该变量的值设为null,显式删除其保存的对象引用。程序中同一个对象可能有多个引用,垃圾收集该对象前必须先删除这些引用。
    垃圾收集器会自动清空无用对象。对象是无用的,如果程序没有引用该对象。将保存引用的变量名设为null,就可以显式删除引用。
    Java运行时采用的策略:懒惰式加载(按需加载)