相信很多朋友在面试过程中都遇到过关于static的相关题目,接下来我们来分析一下static。

static(静态的),用来修饰成员变量,成员方法,它随着类的加载而加载,使用static修饰的数据可以直接使用类名来调用。由此可以得出,静态的方法是不可以访问非静态的成员方法和成员变量的,因为非静态需要依赖对象来调用。但是相反的,非静态的方法是可以访问静态的成员方法和成员变量的。

使用static修饰的方法不能使用this,这是因为static随着类的加载而加载,不存在依赖对象的情况。

根据上述两点我们可以总结出来静态的特性:只在类加载时执行一次,根据这个特性还可以得出静态使用的地方,那就是在创建对象前就需要调用方法或者变量。

最后大家可以看一下下面这个题的运行结果

public class son extends Farther{

	static {
System.out.println("子类的静态代码块被调用了");
} public son() {
System.out.println("子类的构造方法执行了");
} public static void main(String[] args) {
new son();
}
} class Farther { static {
System.out.println("父类的静态代码块被调用了");
} public Farther() {
System.out.println("父类的构造方法执行了");
}
}
执行结果
父类的静态代码块被调用了
子类的静态代码块被调用了
父类的构造方法执行了
子类的构造方法执行了

我们现在来分析一下这道题,首先进来后程序先准备加载son,发现son是farther的子类后,开始加载farther,由于静态代码块是随着类的加载而加载的,就首先输出了“父类的静态代码块被调用了”,

随后输出“子类的静态代码块被调用了”,这时类加载完毕,执行主方法,主方法是创建son的对象,son是farther的子类,所以执行父类的构造方法,随后执行子类的构造方法。

经过上述的描述,大家应该也对static有了初步的认识,如果有问题可以在评论中提出来,我会及时更改或者回答大家的问题的。

我是一个正在偷偷努力学习java的大胖子,有任何问题大家都可以发在我的个人公众号上边,我也会尽量帮大家解决,当然,我也只是一个正在学习java的人,并不能保证“每个(其实是大部分问题都不能)”问题都能回答上来。

还有我的个人公众号会不定时更新我的java学习之路,大家如果也在学习java可以在公众号上边与我交流哦。

最新文章

  1. Delphi的分配及释放---New/Dispose, GetMem/FreeMem及其它函数的区别与相同
  2. iOS 传值方式
  3. NSUserDefaults存取失败
  4. hdu5536 字典树xor
  5. SharePoint表单和工作流 - Nintex篇(四)
  6. svn如何回滚到之前版本
  7. 【转】SQL 2008 Insert返回自动编号id三种方法比较
  8. 使用Python读写csv文件的三种方法
  9. Python【第四篇】函数、内置函数、递归、装饰器、生成器和迭代器
  10. CEF3开发者系列之Cookies管理和共享
  11. Android开发 --代码布局
  12. [C#][WebAPI]返回 json
  13. 模式PK:命令模式VS策略模式
  14. mybatis小工具
  15. Python--BeautifulSoup库安装
  16. 【第八周】【新蜂】新NABCD
  17. hystrix -hystrixCommand配置介绍
  18. Asp.net中使用文本框的值动态生成控件的方法
  19. Android无线测试之—Genymotion模拟器环境搭建
  20. Java入门之IDE集成开发环境安装及配置

热门文章

  1. WPF 鼠标在图片Image上悬停时切换更改设置图片源Source
  2. 零元学Expression Blend 4 – Chapter 20 以实作案例学习Childwindow
  3. UWP开发学习笔记2
  4. C#高性能大容量SOCKET并发(二):SocketAsyncEventArgs封装
  5. 如何Update跨表修改数据
  6. mingw(gcc)默认使用的是dwarf格式
  7. Layui 是一款采用自身模块规范编写的国产前端UI框架(5600个Star)
  8. 一个基于jQuery写的弹窗效果(附源码)
  9. Oracle高级查询、事物、过程及函数
  10. 使用Arcgis Api for Javascript 调用 本地Portal发布的WebMap