Java代码:
public class StaticDemo {
public static String info ;
private String other ;
static {
info = "静态语句块能操纵静态的对象";
//other = "无法操纵非static对象";
System.out.println(" == StaticDemo 被加载到JVM == ");
}
public StaticDemo(){
System.out.println(" StaticDemo 被实例化了。");
}
}
Java代码:
public class StaticTest {
public static void main(String[] args) {
// 加载到JVM中,默认的方式
try {
// 等效于Class.forName("StaticDemo");
Class.forName("StaticDemo", true, StaticTest.class.getClassLoader());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// 加载的JVM时,info被赋值了
System.out.println("info对象 ==> "+StaticDemo.info);
// 实例化对象,注意此时Static语句块中的内容不再出现
StaticDemo obj1 = new StaticDemo();
StaticDemo obj2 = new StaticDemo();
}
}
执行结果:
---------------
== StaticDemo 被加载到JVM ==
info对象 ==> 静态语句块能操纵静态的对象
StaticDemo 被实例化了。
StaticDemo 被实例化了。
---------------
-------------------------------------------------
import java.util.ArrayList;
import java.util.List;
public class Test {
private static List list = new ArrayList() {
{
add(new Object());
// ...
}
};
// 除了这样初始化list之外,还可以如下:
private static List list2;
static {
list2 = new ArrayList();
list2.add(new Object());
// ...
}
// private static A a = new A(); 这样写就不允许了
private static A a;
static {
try {
a = new A();
} catch (Exception e) {
e.printStackTrace();
}
}
static class A {
public A() throws Exception {
}
}
}
--------------------------
package com.test;
class Test {
public static int X = 100;
public final static int Y = 200;
public Test() {
System.out.println("Test构造函数执行");
}
static {
System.out.println("static语句块执行");
}
public static void display() {
System.out.println("静态方法被执行");
}
public void display_1() {
System.out.println("实例方法被执行");
}
}
public class StaticBlockTest {
public static void main(String args[]) {
try {
Class.forName("com.test.Test");
Class.forName("com.test.Test");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
----------
执行结果:
static语句块执行
----------
分享到:
相关推荐
此代码主要是用JDBC和MySQL数据库完成一个简单的用户管理系统,系统的设计模式采用工场模 式和代 理模式,此代码很适合初学Java者。 运行方法: 1.运行需要启动MySQL数据库 2.创建数据库名为zhaochao和表名为...
非常详细的java中static介绍
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念……
讲述java中static的关键字的作用
staticMessage.java~3~ 1.12 KB staticMessage.java~4~ 1.07 KB staticMessage.java~5~ 1.07 KB storePanel.java~15~ 3.43 KB storePanel.java~16~ 3.43 KB storePanel.java~17~ 3.43 KB storePanel....
细说Java中的static关键字声明的变量、方法、静态块
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块
Java基础知识,其中包括基本概念+运算符+判断和循环+循环高级和数组+方法+综合练习+面向对象+面向对象综合训练+字符串+集合&学生管理系统+学生管理系统升级版+面向对象进阶(static&继承+多态+包&final&权限+抽象类&...
Java中static变量的几个优缺点 简单介绍static
Java中static、this、super、final用法(word文档)
浅析Java中静态块与静态方法的区别与联系,执行顺序。
Java static修饰方法。例子仅供参考。
java技术:java中static作用详解
自己总结的java中final和static的区别,请大家提出宝贵意见。
java中static用法
软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...
java中final和static讲解及实例
Java static修饰初始块。初级代码,仅供参考学习。
java中的static变量,方法,代码块 含例子和解释