【第22期】观点:IT 行业加班,到底有没有价值?

public static void main(String[] args)

原创 2016年08月29日 23:35:07

最近刚开始学习JAVA,下面是遇到的一些问题,在网上查看了很多资料和一些牛人的技术博客,自己才稍稍领悟,在这里做些总结和整理。有些牛人对知识点的理解很完美,这里就直接借鉴了。

注:本人菜鸟一枚,错误之处望留言指正。

  • 1、写JAVA代码时,最先写的这两行到底是什么意思?

    1. public class HelloWorld {
    2.     public static void main(String[] args) {
    3. 
    4.     }
    5. }
    
  • 在这里首先说下,定义一个方法的语法:

        访问修饰符  返回值类型  方法名(参数列表) {
                方法体
        }
    
    1. 访问修饰符:方法允许被访问的权限范围,比如,public、protected、private 或者省略。其中public表示该方法可以被其它任何代码调用
    2. 返回值类型:定义方法的返回值的类型,如果方法不需要返回任何值,则返回值类型指定为void;如果方法需要返回值,则需要指定返回值的类型,并且在方法体中添加一条return语句用来返回值
    3. 方法名:定义的方法的名字,必须使用合法的标识符
    4. 参数列表:传递给方法的参数列表,参数可以有多个,也可以没有,多个参数之间用逗号隔开。每个参数由参数类型和参数名组成,以空格隔开
  • 在这里先来了解一些与Java相关的名词:

Java Virtual Machine,简称JVM;它是运行所有Java程序的抽象计算机,是Java语言的运行环境,JVM读取并处理编译过的与平台无关的字节码(class)文件。
Java语言是跨平台的,就是因为有JVM的存在。而JVM不是跨平台的,不同的操作系统需要安装与此对应的JVM。在需要运行Java应用程序的操作系统上,先安装一个Java虚拟机,由Java虚拟机负责Java程序在该系统中的运行。

在Java编程中,JVM会首先查找类中的main方法,因为main方法是Java程序的入口(关于程序的入口,其它的情况在这里不讨论),如果找不到main方法,程序会报错(我是在DOS界面中分布运行Java程序的,在程序的编译阶段不会报错,在程序的执行阶段会报错,提示:“在类中找不到main方法,请将main方法定义为:public static void main(String[] args) …”Java程序的执行阶段是由JVM参与的,编译阶段JVM是不管的)

main方法的public修饰符

public表明允许系统中任何位置的类都可以访问它。当然,JVM也可以轻松的访问执行它。

main方法的static修饰符

这里先说说类的实例化

如果被调用的方法声明为static,可以在其它方法中直接调用。如果被调用方法没被static修饰(不是静态方法),调用时需要通过类的实例化进行调用(因为静态方法随着类的加载而加载,其先存在,对象后存在。一个已经存在的方法去调用还不存在的方法(没被static修饰),就要先创建那个方法的对象,创建对象的过程,就称为实例化。然后通过对象去调用那个方法。这个过程就是类的实例化)
1. 因为main方法是静态的,JVM调用这个方法时就不需要创建任何包含这个main方法的实例。
2. 如果main方法不声明为静态的,JVM就必须创建main类的实例,但是构造器可以被重载(个人理解,“构造器”就是,和类名相同但无返回值的方法),JVM就没法确定调用哪个main方法。

main方法返回值为void

main方法作为程序的入口和出口,是没有返回值的,main方法不同于其它方法,其它方法可以有返回值,这样在程序中调用该方法是,可以获取返回值,而main方法是由JVM调用的,如果main有返回值,那这个返回值返回给谁呢,肯定返回给JVM,那么这个返回还有意义吗。

(String[] args)

函数的参数,参数类型是一个数组,该数组中的元素是字符串。JVM在调用主函数时,传入的是new String[0];

程序第一行的“public class HelloWorld”也就很好理解了,指定类名Helloworld的权限为public(公有的)

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

main()方法为啥必须要public static void类型的??java中的静态成员

main()方法为啥必须要public static void类型的??java中的静态成员 1.main()方法  在java中,main()方法是java应用程序的入口方法,也就是说,程序在运行的...

java的main函数为什么是public static void main(String[] args)

这个问题困扰我好久了,今天就一查究竟,毕竟我好奇心比较重1. why “public”   因为java程序是通过jvm虚拟机调用的,所以main()函数要是想被调用,必须是public2.why “...

java学习笔记5_HelloWorld 和 public static void main(String[] args)

1.   这是第一个hello程序和说明 // 默认引入package java.lang // 文件名和类名必须相同,在一个文件里最多有一个public类 public class Hello...

关于main函数的传参数介绍 public static void main(String[] args)

/* * //这里要对main函数讲解一下,参数String[] args是一个字符串数组,接收来自程序执行时传进来的参数 如果是在控制台,可以通过编译执行将参数传进来,命令行如下: javac H...

【java】Static解读和public static void main(String[] args)详细分析

首先问一个问题: publicstatic void main(String[] args)代码代表了什么含义?以及思考为什么java程序一开始就会进入main()函数,其实c、c++也是如此?后面一...

Java之public static void main(String[] args)

public static void main(String[] args)是Java程序的入口方法,JVM在运行程序时,会首先查找main()方法。其中,public是权限修饰符,表明任何类或者对象...

Java里public static void main(String[] args)与public static void main(String args[])的区别(by 星空武哥)

他们的最终结果是没有什么不同,但是从语法上是有不同的。 点击链接支持一下,非常感谢!http://www.2345.com/?kqq420605794 String args[]单从类型上来讲属于...

对于public static void main(String args[])你知几何?

Java中main()方法以及命令行参数的若干注意   main方法的完整定义语法:public static void main(String[] args){} 命令行格式:ja...

《Java程序员面试笔试宝典》之为什么需要public static void main(String[] args)这个方法

public staticvoid main(String[] args)为Java程序的入口方法,JVM在运行程序的时候,会首先查找main方法

为什么 main 方法是 public static void?

 0、引言: 之前在校招时,旁边的面试官问过这样一个问题:如何不在 main 函数里打印出一行字符串呢(也不允许在main里调用函数)? 如果你不能回答上来没关系,看了本文你就会有了...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)