Java学习笔记----main

来源:互联网 发布:局域网ip冲突 软件 编辑:程序博客网 时间:2024/06/04 23:52

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



1 0
原创粉丝点击