JAVA中static关键字的解读

来源:互联网 发布:linux sz 下载目录 编辑:程序博客网 时间:2024/04/29 08:57

代码如下:

/** *  */package com.M.controller.test;/** * @author online zuozuo 于2017年2月20日下午12:43:56编辑 *  * @use 本类用于讲解static的一些特性 * @version 1.0 * @about static成员在类的任何对象创建之前被创建,因此它能在对象创建之前被访问, *        最常见的例子是类的main方法声明为static的变量称为静态变量或类变量。 *        可以直接通过类名引用静态变量,也可以通过实例名来引用静态变量, *        但最好采用前者,因为后者容易混淆静态变量和一般变量。静态变量是跟类相关联的, *        类的所有实例共同拥有一个静态变量。静态方法可以直接调用静态方法,访问静态变量, *        但是不能直接访问实例变量和实例方法。静态方法中不能使用this关键字, *        因为静态方法不属于任何一个实例。静态方法不能被子类的静态方法覆盖。 * */public class StaticAbout {/** * 本类的运行机制如下 * 1.当StaticAbout类被装载,所有的static成员被运行,最先执行类变量,a=3,b=0 * 2.然后程序继续运行static块,b被赋值 * 3.static块运行完毕,程序接着运行main方法,main去调用method方法 * 4.执行method方法,打印输出 */static int a = 2;/** * 解读b:因为b是static成员,当他创建一个引用但是没有赋值时会默认赋值0 */static int b;static void method(int x) {System.out.println("x = " + x);System.out.println("a = " + a);System.out.println("b = " + b);}/** * 创建一个static块 */static {System.out.println("先执行这里,static块被初始化");b = a * 10;}public static void main(String args[]) {method(2017);}/** * 非静态的内部类 * 1.需要持有对外部类的引用 * 2.能访问外部类的全部成员 * 3.不能脱离外部类实体被创建 */class C {}/** * 静态内部类 * 1.不需要持有对外部类的引用 * 2.只能访问外部类的静态成员 */static class StaticClass {}}

 

0 0
原创粉丝点击