Java基础知识--static关键字

2018-11-28  本文已影响0人  aldonk

好记性不如烂笔头,记自己容易忘记的部分基础内容。
本文内容引用自(勿转):

static

static作用

static变量

static方法

static代码块

static内部类

面试题目

  1. ”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?

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

Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以概念上不适用。

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

static变量在Java中是属于类的,它在所有的实例中的值是一样的。当类被Java虚拟机载入的时候,会对static变量进行初始化。如果你的代码尝试不用实例来访问非static的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。

  1. 静态方法能不能引用非静态资源?

不能,new的时候才会产生的东西,对于初始化后就存在的静态资源来说,根本不认识它。

  1. 静态方法里面能不能引用静态资源?

可以,因为都是类初始化的时候加载的,大家相互都认识。

  1. 非静态方法里面能不能引用静态资源?

可以,非静态方法就是实例方法,那是new之后才产生的,那么属于类的内容它都认识。

上一篇 下一篇

猜你喜欢

热点阅读