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
相关文档:
原文出处:http://developers.sun.com/techtopics/mobility/midp/articles/wtk23beta/
Sun Java Wireless Toolkit越来越好,2.3beta版本增加了对于三种新的API的支持:
l The Security and Trust Services APIs (SATSA, ......
一直被同步搞得晕头转向,今天遇到了要写静态方法,总担心会不会有同步问题,结果看了以下一席话,豁然开朗~~
Every method of java will have a stack, and every invokation on that
method will have it's own 'stack frame'. So the locale data of one
method invokation will not affect others.
Please do not c ......
package com.test;
public class Jm1 {
private static int asnum;
private static char stchar;
public static void main(String[] args) {
System.out.println(getAsc("A"));
System.out.println(backchar(99));
}
/**
* 字符转ASC
*
* @param st
* @return
*/
public static int get ......
今天在网上看到关于对JAVA内存的解释,觉得写的比较好便摘抄下来。
在Java中,内存泄漏就是存在一些被分配的对象,这些对象有下面两个特点,首先,这些对象是可达的,即在有向图中,存在通
路可以与其相连;其次,这些对象是无用的,即程序以后不会再使用这些对象。如果对象满足这两个条 ......