黑马程序员------毕老师视频笔记第六天------面向对象(main函数)

来源:互联网 发布:php可以做直播吗 编辑:程序博客网 时间:2024/05/18 21:08

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

public static void main (String [] args){}

主函数是一个特殊的函数,作为程序的入口,可以被JVM调用

主函数的定义:

public:代表着该函数的访问权限是最大的

static:代表着主函数随着类的加载已经存在了

void:主函数没有具体的返回值,主函数是JVM调用的,不会返回值给JVM

main:不是关键字,但是一个特殊的单词,可以被JVM识别

(String[] args):函数的参数,参数类型是一个数组,该数组中的类型是一个数组,该数组中的元素是字符串,字符串类型的数组

 

主函数是固定格式的:JVM识别

 

public static void main ( int x ){}

编译通过,main函数重载了,但是JVM不识别

 

主函数中唯一能改的地方 args,变量名,随便起,符合标示符的规定就行,早起写的是arguments

 

主函数是被JVM调用的,我们知道,调用函数要为其传递与之对应的参数,那JVM调用主函数的时候传什么参数呢?

args能接收的参数只有两种,要不是 String类型的数组,要不是 null

class Demo

{

         publicstatic void main (String [] args)

         {

                   System.out.println(args+"\n"+args.length);

         }

}


所以,JVM在调用主函数时,传入的是 new String[0]

知道这个有什么用呢?我们可以自己传值,怎么传呢,启动虚拟机的时候传,什么时候启动虚拟机呢,java命令


或者

class Demo

{

         publicstatic void main (String [] args)

         {

                   //System.out.println(args+"\n"+args.length);

                   String[]arr = {"hehe","haha","hihi"};

                   MainTest.main(arr);

         }

}

class MainTest

{

         publicstatic void main(String [] args)

         {

                   if(args.length > 0)

                   {

                            for(int x = 0;x < args.length ;x++ )

                            {

                                     System.out.println(args[x]);

                            }

                   }

         }

}

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

0 0
原创粉丝点击