• Static 相关问题
    • Static 关键字是什么意思?
    • 是否可以 override 一个 static 的方法?
    • 一个 static 方法内部调用非 static 方法?
    • 是否可以在 static 环境中访问非 static 变量?

    Static 相关问题

    Static 关键字是什么意思?

    Static 关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例的情况下直接被访问

    是否可以 override 一个 static 的方法?

    不能被覆盖. 因为方法覆盖是基于运行时动态绑定的, 而 static 方法是编译时静态绑定的.

    一个 static 方法内部调用非 static 方法?

    不可以. 因为非 static 方法是要与对象关联在一起的, 须创建一个对象的实例后, 才可以在该对象上进行方法调用,
    而static方法调用时不需要创建对象, 可以直接调用. 也就是说,
    当一个 static 方法被调用时, 可能还没有创建任何实例对象,
    如果从一个 static 方法中发出对非 static 方法的调用, 那个非 static 方法是关联到哪个对象上的呢? 这个逻辑无法成立,
    所以, 一个 static 方法内部发出对非 static 方法的调用.

    是否可以在 static 环境中访问非 static 变量?

    同上