JAVA静态块和非静态块的区别
//静态块(static block):如下所示
public class StaticBlock1
{
static
{
System.out.println("static block");
}
public static void main(String[] args)
{
System.out.println("main");
}
}
/**
静态块是在类被调用到内存后开始执行的,它和创建对象或main方法都没有关系。
如果没有main方法,程序仍然编译成功,但运行错误。
上例中,运行结果为:static block
main
*/
非静态块(non-static block)
public class NonStaticBlock1
{
{
System.out.println("Non static block");
}
NonStaticBlock1()
{
System.out.println("constructor");
}
public static void main(String[] args)
{
new NonStaticBlock1();
System.out.println("main");
}
}
/**
静态块一般用于初始化类中的静态成员,而非静态块一般用于初始化类中的非静态成员。
另外,非静态块是在创建对象时自动执行的代码。
上例中,运行结果为:Non static block
&nb
相关文档:
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import net.sourceforge.pinyin4j.PinyinHelper;
public class PinyinComparator implements Comparator<Object> {
private String concatPinyinStringArray(String[] pinyinArray) {
&nb ......
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Enumeration;
import java.util.Vector;
/*虽然现在用APACHE COMMONS DBCP可以非常方便的建立数据库连接池, ......
來源:http://blog.csdn.net/loyoveui/archive/2007/06/22/1662154.aspx
package test;
import java.lang.reflect.Method;
public class InvokeTest {
/**
*
* main 方法
* @param args
* void
*/
public static v ......
package test;
import java.lang.reflect.Method;
public class InvokeTest {
/**
*
* main 方法
* @param args
* void
*/
public static void main(String[] args) {
try {
&nbs ......