首页 > 基础教程 > 关键字 > static关键字

Java static面试题

1. 为什么要用static关键字?

通常来说,用new创建类的对象时,数据存储空间才被分配,方法才供外界调用。但有时我们只想为特定域分配单一存储空间,不考虑要创建多少对象或者说根本就不创建任何对象,再就是我们想在没有创建对象的情况下也想调用方法。在这两种情况下,static关键字,满足了我们的需求。

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

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

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

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

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

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

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

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

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

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

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

7. 这段代码的输出结果是什么?

test static myclass static person static person Test

test constructor

person MyClass

myclass constructor

类似地,我们还是来想一下这段代码的具体执行过程。首先加载Test类,因此会执行Test类中的static块。接着执行new MyClass(),而MyClass类还没有被加载,因此需要加载MyClass类。在加载MyClass类的时候,发现MyClass类继承自Test类,但是由于Test类已经被加载了,所以只需要加载MyClass类,那么就会执行MyClass类的中的static块。在加载完之后,就通过构造器来生成对象。而在生成对象的时候,必须先初始化父类的成员变量,因此会执行Test中的Person person = new Person(),而Person类还没有被加载过,因此会先加载Person类并执行Person类中的static块,接着执行父类的构造器,完成了父类的初始化,然后就来初始化自身了,因此会接着执行MyClass中的Person person = new Person(),最后执行MyClass的构造器。

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。

java static面试题_Java static面试题相关推荐

  1. java页面间面向对象的方法面试题_JAVA面向对象面试题带答案(墙裂推荐)

    1) 在Java中,如果父类中的某些方法不包含任何逻辑,并且需要有子类重写,应该使用(c)关键字来申明父类的这些方法. a) Finalc b) Static c) Abstract d) Void ...

  2. java static 块作用_java static块有什么具体的作用和注意事项?说具体点

    展开全部 在Java语言中,static表示"全局"或者"静态"的62616964757a686964616fe4b893e5b19e3133333035346 ...

  3. java static再赋值_java static变量可以赋值吗?

    详细内容 java static变量可以赋值吗? 可以赋值的.static的主要作用是静态成员,指该变量的实例在内存中之存放一次.赋值是可以随便改的. java中static关键字 static是ja ...

  4. java 给static变量赋值_java static变量可以赋值吗?

    java static变量可以赋值吗? 可以赋值的.static的主要作用是静态成员,指该变量的实例在内存中之存放一次.赋值是可以随便改的. java中static关键字 static是java中非常 ...

  5. java综合面试题_JAVA 综合面试题 PDF 下载

    主要内容: Java面试题整理 Java面向对象 1. super()与this()的区别? This():当前类的对象,super父类对象.Super():在子类访问父类的成员和行为, 必须受类继承 ...

  6. JAVA工程师定向招聘_Java工程师面试题整理[社招篇]

    http://blog.csdn.net/jackfrued/article/details/44921941 1.面向对象的特征有哪些方面? 2.访问修饰符public,private,protec ...

  7. java线程实例题_java线程相关试题实例源码代码

    java线程相关试题实例源码代码. /** * 计算输出其他线程锁计算的数据 */ class ThreadA { public static void main(String[] args) { T ...

  8. java校招笔试题目_Java校招笔试题

    2020校招笔试题答案及评分标准 满分100分 时间1小时 一.简答题: (5分)写出你用过的linux命令,举例说明其中几个的具体用法. 答案:略.评分标准:正确五个,1分一个. (5分)写出TCP ...

  9. java io 面试题_Java IO面试题及答案整理汇总

    说到Java开发,所有的java程序员都知道Java IO流,而且相信大家在具体的工作中也都会用到,但是其实很多朋友们并没有完全掌握java IQ流的内容,而且java IO在java 面试中也会考察 ...

最新文章

  1. Question for the 3D printing lattice?
  2. SAP UI5 应用开发教程之六十 - SAP UI5 地图控件的一些高级用法试读版
  3. 牛客题霸 [螺旋矩阵] C++题解/答案
  4. hibernate Criteria(条件查询接口)
  5. oracle的undo
  6. XSS漏洞(跨站脚本)
  7. 贪吃蛇代码c语言改分,刚学C语言,想写一个贪吃蛇的代码
  8. sublime与python交互
  9. pywin32库 : Python 操作 windows 系统 API
  10. 千月影视APP前端搭建_②_创建APP应用
  11. 华为内部转岗最好时间_华为博士类员工离职率21.8%:平均年薪110万,依然度日如年...
  12. NH2-PEG-MAL 氨基PEG马来酰亚胺
  13. 小程序商城制作一个需要多少钱?
  14. python pip 安装包失败问题,下载缓慢问题
  15. 2022年全球市场智能室内空气质量检测仪总体规模、主要生产商、主要地区、产品和应用细分研究报告
  16. 智慧城市:未来已来,时尚生活不再遥不可及
  17. 【实验】多周期CPU微程序设计
  18. CPMP IPMP PMP这三个证书有什么区别?
  19. 放弃高薪回家种韭菜,他赚了30万元
  20. 大数据开发---数据仓库技术

热门文章

  1. MySQL(三)表记录的更新操作
  2. Leetcode475.Heaters供暖器
  3. 007API网关服务Zuul
  4. 计算机编程之高级语言
  5. 设置 cell点击 背景色
  6. InnoDB关键特性之doublewrite
  7. 修改Win7远程桌面端口
  8. C语言中的多字节字符与宽字符
  9. QString 的使用技巧
  10. C++中 类与类之间的关系