一、今日学习内容:static关键字。
static关键字:
Static 能够与变量,方法和类一起使用,称为静态变量,静态方法。如果在一个类中使用static修饰变量或者方法的话,它们可以直接通过类访问,不需要创建一个类的对象来访问成员
(1)静态变量:只需在静态变量前面加上static关键字即可,惊天变量不需要通过变量来访问,直接使用”类名.变量名“来直接访问,并且该变量不属于具体的哪一对象。
(2)静态方法:类名.方法名() 不需要通过对象来调用
(3)静态代码块:static代码块也叫静态代码块,可以有多个,并且位置可以随便放,他不在任何的方法体内,JVM加载类时会执行这些静态的代码块,statuc代码块会优先与构造器执行,如果代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行,每个代码块只会被执行一次。
. 关于静态变量和静态方法的总结:
- 结论1.构造方法不允许声明为 static 的;
- 结论2.1.静态方法只能访问静态变量
- 结论2.2.静态方法不能访问实例变量
- 结论3.1.静态方法只能够调用静态方法;
- 结论3.2.静态方法不能够调用非静态方法;
- 结论4.静态方法中不存在当前对象,因而不能使用 this,当然也不能使用 super
- 结论5.局部变量不能使用static修饰
- 结论6.1.静态方法能被静态方法重载
- 结论6.2.静态方法能被非静态方法重载
- 结论7.1 静态方法,可以声明object类型,一般不推荐使用静态方法,因为不能通过类访问
- 结论7.2 非静态方法,可以声明object类型,一般推荐使用,因为可以使用实例访问
- 结论8. 静态方法只能在静态类中使用
- 结论9.1.静态方法不能被非静态方法覆盖
- 结论9.2 静态方法能被静态方法覆盖
- 结论10 静态方法直接通过类访问
- 结论11 如访问控制权限允许,静态变量和静态方法也可以通过对象来访问,但是不被推荐
- 结论12 静态方法且类型对象,不能通过类访问
对于使用频繁的静态变量和静态方法,可以将其静态导入.
实例:
package com.java.JavaStatic; //1.通过 import static java.lang.System.*; 将其导入,下次直接调用 out.println() 就可以了 import static java.lang.System.*; //2.导入类中的Math.random import static java.lang.Math.random; /** * 静态导入. 对于使用频繁的静态变量和静态方法,可以将其静态导入 * @author Jeff * @date:2016/4/4 * http://www.weixueyuan.net/view/6003.html */ public class demo04 { public static void main(String[] args) { //输出语句 System.out.println(); 中的 out 就是 System 类的静态变量, out.println("产生的一个随机数:" + random()); } }
二、遇到的问题:暂无
三:明日计划:
学习final关键字