Java学习笔记----main
1.java中main方法是程序的入口方法。main还是必须的两个修饰符是public和static.举例
A:public static void main(String args[]) B:public static final void main(String args[]) C:static public void main(String args[]) D:static public synchronized void main(String args[]) E:static public abstract void main(String args);
上面能够是入口main方法的仅仅有ABCD.
2.同一个java文件其中可能够有多个main方法举例
class T{
public static void main(String agrs[]){
System.out.println("T mian");
}
}
public class Test{
public static void main(String args[]){
System.out.println("Test main");
}
}执行结果:Test main
执行结果表明:仅仅有和文件名称同样的类里面的main方法才是程序的入口方法。即Test.java中仅仅有名为Test类中的main是程序的入口,同一时候一个java文件里能够有多个main方法。
3.在main方法前输出HelloWorld
public class Test{
static {
System.out.println("hello world1");
}
public static void main(String args[]){
System.out.println("hello world2");
}
}执行结果是:hello world1
hello world2
public class Test{
public static void main(String args[]){
System.out.println("hello world2");
}
static {
System.out.println("hello world1");
}
}这段程序和上面的程序输出结果一样。因此表明在程序执行时,静态块是在main方法之前被载入的,并且static块在程序中的位置无关。
4.java程序的初始化顺序
(1)静态对象(变量)优先于非静态对象(变量)初始化,静态对象(变量)仅仅初始化一次,非静态可能会初始化多次。、
(2)父类优先于子类进行初始化
(3)依照成员变量的定义顺序进行初始化
class B extends Object{
static{
System.out.println("static B");
}
public B(){
System.out.println("constructor B");
}
}
class A extends B{
static{
System.out.println("static A");
}
public A(){
System.out.println("constructor A");
}
}
public class Test{
public static void main(String args[]){
new A();
}
}运行结果:
static B
static A
constructor B
constructor A
浙公网安备 33010602011771号