1,static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身调用static方法。这实际上正是static方法的主要用途。(简而言之)方便在没有创建对象的情况下来进行调用(方法/变量)。

2,static方法

 static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。

3,static变量

 static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。

4,static代码块

 static关键字还有一个比较关键的作用就是 用来形成静态代码块以优化程序性能。static块可以置于类中的任何地方(除了方法内部),类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。静态块外部不能直接调用,静态块一般用在一些初始化操作。

static容易误解的地方:

1,Java中的static关键字不会影响到变量或者方法的作用域。在Java中能够影响到访问权限的只有private、public、protected(包括包访问权限)这几个关键字。

2,静态成员变量虽然独立于对象,但是不代表不可以通过对象去访问,所有的静态方法和静态变量都可以通过对象访问(只要访问权限足够)。

3,Java中切记:static是不允许用来修饰局部变量。(java语法规定的)

构造器是不是静态的?

不是

1,静态方法中不能使用this,而构造器中可以使用this关键字。this是指调用当前方法的对象,而静态方法不属于任何对象。

2,静态方法是独立于对象的类级别的方法。不创建实例 构造函数的调用也不需要实例,构造函数是由jvm创建类实例时自动调用

3,构造方法不能继承,而静态方法可以继承

最新文章

  1. Java Generics and Collections-2.4-2.5
  2. ACM/ICPC 之 三维计算几何+暴力枚举+判重(HDU5839)
  3. 数据挖掘算法(一)C4.5
  4. SQL归档
  5. MUI(1)
  6. Js变量定义——fn里 var与不var的区别
  7. LeetCode:Longest Palindromic Substring 最长回文子串
  8. ExtJs学习笔记之TextField
  9. matplotlib作图中文显示问题
  10. bzoj 2132 圈地计划(黑白染色,最小割)
  11. 使用 Gradle 实现 TFS 构建自动化
  12. 在Windows系统中安装集成的PHP开发环境
  13. 苹果IOS与谷歌 android系统的UI设计原则
  14. idea中classpath的问题
  15. UDP协议学习(转)
  16. idea设置代码块
  17. wfi彩灯
  18. C#中datagridview选中行后textbox显示选中的内容
  19. HDU 4640 状态压缩DP 未写完
  20. 201709021工作日记--Volley源码详解(五)

热门文章

  1. 手动搭建的react环境中,关于图片引入的问题
  2. RHEL7安装ZABBIX 3.2
  3. mysql中的文件排序(filesort)
  4. 给footer标签设置padding:7px auto;失效
  5. C语言创建共享库(动态库)步骤
  6. 【WPF学习】第十四章 事件路由
  7. Linux创建连接命令 ln -s创建软连接
  8. Java web 会话技术 cookie与session
  9. 20-02-27 hive表的几个问题
  10. mcast_set_loop函数