java Static 小解
来源:互联网 发布:对位算法 编辑:程序博客网 时间:2024/05/16 06:48
Static :
默认情况下,成员变量是实例化成员,在外部需要通过对象才能够操作,但是如果用static来修饰的话,就是静态成员,也叫类变量,无需通过对象就可以操作;
public class Test
{
static int x;//成员变量可以是静态的变量
int y1;
class test1{
int y;
}
public static void main(String[] args)
{
// TODO 自动生成的方法存根
x=0;
y=9;//报错
y1=9;//报错
Test test=new Test();
test.y1=9;正确
}
}
静态代码段:
class StaticCode
{
static String country;
static
{
country="China";
System.out.println("StaticCode is loading !!");
}
}
public class TestStaticCode
{
static
{
System.out.println("TestStaticCode is loading!!");
}
public static void main(String[] args)
{
System.out.println("begin main method !!");
new StaticCode();
new StaticCode();
}
}
输出结果为
TestStaticCode is loading!!
begin main method!!
StaticCode is loading!!
为什么会有如此顺序的输出?
为什么 StaticCode is loading !! 只被输出一次?
为什么StaticCode is loading!!不被第一个输出?
程序要进入main方法 首先要加载TestStaticCode这个类
从而要执行定义在这个类的静态代码段
输出 TestStaticCode is loading!!
当程序运行到 第一次出现StaticCode时 就会加载StaticCode这个类从而执行这个类的静态代码段
由于静态代码段只在类第一次加载时才执行 也就是第一个 new StaticCode(); 时才执行
后面不论你出现了多少个StaticCode都不会再次执行
而且静态代码段
不依赖于类的实例化 只要你的程序执行过程中第一次碰到了StaticCode就会马上执行静态代码
不信你把两个new语句去掉 换成
StaticCode s = null;
声明一个StaticCode 的空引用 程序也会执行静态代码
- java Static 小解
- static小解
- Java不同类方法的调用以及static方法小解
- static 关键字小解
- static的关键字的小解
- java 安全 加密 小解
- Java元数据小解
- java 构造器小解
- Java 设计模式小解
- 关于java的环境变量小解
- javac 和 java classpath 小解
- java.beans.PropertyChangeSupport小解! 简洁精辟
- java 中import 和 package 小解
- java与javascript中this的小解
- Java static
- java static
- Java Static
- java static
- hibernate annotation注解方式来处理映射关系
- 服务器被入侵的教训
- leetcode -- Product of Array Except Self -- 重点。常考
- Hive
- 项目总结新技术在项目中的应用风险和机遇
- java Static 小解
- thinkphp使用阿里大鱼短信接口
- Varnish缓存服务器原理
- hdoj Lattice triangle 4483 (欧拉函数&&容斥)
- Android优化(一)——布局优化
- LeetCode Add Two Numbers
- 快学Scala读书笔记之Chapter15(注解)、Chapter17(类型参数)
- AOJ 0033 Ball
- UVALive 6847Zeroes(规律)