JAVA关于静态static的面试题

 
 
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

1.静态(static)

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块。

static修饰的变量习惯称为静态变量,static修饰的方法称为静态方法,static修饰的代码块叫做静态代码块。

static的意义在于方便在没有创建对象的情况下来进行调用(方法/变量)。

“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”

2.静态的具体用法

参考:

https://www.cnblogs.com/0mbiubiu/p/5331390.html

补充:静态内部类

https://blog.csdn.net/cd18333612683/article/details/79129503

https://baijiahao.baidu.com/s?id=1593244425455663032&wfr=spider&for=pc

3.静态的注意事项

4.静态的优缺点

优点:

对对象的共享数据提供单独空间的存储,节省空间,没有必要每一个对象都存储一份

可以直接被类名调用,不用在堆内存创建对象

静态成员可以通过类名直接访问,相对创建对象访问成员方便

弊端:

访问出现局限性。(静态虽好,但只能访问静态)

5.关于静态的面试题

(1)Q:抽象的(abstract)方法是否可同时是静态的(static)?

A:抽象方法将来是要被重写的,而静态方法是不能重写的,所以这个是错误的。

(2)Q:是否可以从一个静态(static)方法内部发出对非静态方法的调用?

A:不可以,静态方法只能访问静态成员,非静态方法的调用要先创建对象。

(3) Q:static 可否用来修饰局部变量?

A:static 不允许用来修饰局部变量

(4)Q:内部类与静态内部类的区别?

A:静态内部类相对与外部类是独立存在的,在静态内部类中无法直接访问外部类中变量、方法。如果要访问的话,必须要new一个外部类的对象,使用new出来的对象来访问。但是可以直接访问静态的变量、调用静态的方法;

普通内部类作为外部类一个成员而存在,在普通内部类中可以直接访问外部类属性,调用外部类的方法。

如果外部类要访问内部类的属性或者调用内部类的方法,必须要创建一个内部类的对象,使用该对象访问属性或者调用方法。

如果其他的类要访问普通内部类的属性或者调用普通内部类的方法,必须要在外部类中创建一个普通内部类的对象作为一个属性,外同类可以通过该属性调用普通内部类的方法或者访问普通内部类的属性

如果其他的类要访问静态内部类的属性或者调用静态内部类的方法,直接创建一个静态内部类对象即可。

(5)Q:Java中是否可以覆盖(override) 一个private或者是static的方法?

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

最新文章

  1. JS根据经纬度获取地址信息
  2. 【BZOJ-1787&1832】Meet紧急集合&聚会 倍增LCA
  3. CSS3-column分栏
  4. ACM 16进制的简单运算
  5. spring security remember me实现自动登录
  6. c#通用递归生成无限层级树
  7. 启动Tomcat出现“Bad version number in .class file (unable to load class XXX)”解决
  8. &10 基本数据结构——栈,队列和链表
  9. Android中使用logwrapper来重定向应用程序的标准输出
  10. Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍
  11. 武汉科技大学ACM:1008: 零起点学算法64——回型矩阵
  12. 使用定制的ArrayAdapter制作ListView的Items(翻译)
  13. Week12(11月25日)
  14. openwrt增加串口登录需要密码
  15. sencha touch视频教程
  16. Java实现GB2312文件转UTF8文件
  17. VB6之写注册表
  18. PyCharm 2017.3 下载与安装
  19. ASP.NET Web API编程——模型验证与绑定
  20. 微信公众号生成带参数的二维码asp源码下载

热门文章

  1. nginx基础概述
  2. ant不是内部命令
  3. SQLSERVER视图错位的解决办法
  4. POI进行导出时候发现有不可读取的内容
  5. 前端笔记-bom
  6. 2020年日期表-python实现
  7. 《奋斗吧!菜鸟》 第七次作业:团队项目设计完善&编码
  8. POJ1185 炮兵阵地 和 POJ2411 Mondriaan's Dream
  9. Jquery “This”的指向
  10. python+request 常用基础学习笔记