主函数 大家都会写吧。

大家一直都不知道为何这样设计,这样设计有什么好处呢?

白话解释:

main函数的修饰符是public: 公共的

为何不用private 等等的修饰符 而规定只用public呢?

public修饰符的权限在 其他 修饰符中 权限是最大的

用public来修饰main  是为了让java虚拟机能访问这个主函数(程序入口),是在任何状态中都能调用,所以才不用private,   你假设下   你把main函数用private修饰的话,java虚拟机能访问到这个主函数(程序入口)吗? 答案是不能     你想想看  连main都进不去了  谈何编译你的程序。。。。

main函数的详解:

public : 公共的。 权限是最大,在任何情况下都可以访问。 private  
原因: 为了保证让jvm在任何情况下都可以访问到main方法。

static:  静态。静态可以让jvm调用main函数的时候更加的方便。不需要通过对象调用。

void:  没有返回值。 因为返回的数据是 给 jvm,而jvm使用这个数据是没有意义的。所以就不要了。

main: 函数名。   注意: main并不是关键字,只不过是jvm能识别的一个特殊的函数名而已。

arguments :担心某些程序在启动需要参数。

下面大括号区域只做了解,不懂以后的章节我会点出的。。别急哈  我现在只是顺便提出来说说

{比如说QQ    启动的时候需要用户输入一些数据,所以sun公司想的挺周到。不过一般录入数据  我们都是用Scanner  用Scanner  能让用户随时随地的输入数据  相比args 比较灵活, 现在很少人使用args 来输入数据了}

那么我们怎么给args数组传参呢?

测试代码1(查看args数组的长度):

class Demo1
{
public static void main(String[] args)
{
System.out.println("数字的长度:"+args.length);
}
}

运行结果:

(给args数组传参):

1.先把测试代码1编译:

2.

java Demo1 参数1 参数2 参数3               我传了 1 2 3           3个参数  ,下面我们来看下是不是真的传进去了

测试代码2(遍历args数组的参数):

class Demo1
{
public static void main(String[] args)
{
System.out.println("数字的长度:"+args.length);
for(int i = 0 ; i < args.length ; i++){
System.out.print(args[i]+",");
}
}
}

运行结果:

JAVA_SE基础——37.main方法的详解的更多相关文章

  1. main方法的详解

    格式 * public static void main(String[] args) {} 针对格式的解释 public 被jvm调用,访问权限足够大. static 被jvm调用,不用创建对象,直 ...

  2. 虚方法virtual详解

    虚方法virtual详解   从C#的程序编译的角度来看,它和其它一般的函数有什么区别呢?一般函数在编译时就静态地编译到了执行文件中,其相对地址在程序运行期间是不发生变化的,也就是写死了的!而虚函数在 ...

  3. C#操作SQLite方法实例详解

    用 C# 访问 SQLite 入门(1) CC++C#SQLiteFirefox  用 C# 访问 SQLite 入门 (1) SQLite 在 VS C# 环境下的开发,网上已经有很多教程.我也是从 ...

  4. 集合类 Contains 方法 深入详解 与接口的实例

    .Net 相等性:集合类 Contains 方法 深入详解 http://www.cnblogs.com/ldp615/archive/2009/09/05/1560791.html 1.接口的概念及 ...

  5. C#虚方法virtual详解

    转: http://www.cnblogs.com/jason_yjau/archive/2009/08/25/1553949.html C#虚方法virtual详解 在C++.Java等众多OOP语 ...

  6. 4.C#虚方法virtual详解

    C#虚方法virtual详解 在C++.Java等众多OOP语言里都可以看到virtual的身影,而C#作为一个完全面向对象的语言当然也不例外. 虚拟函数从C#的程序编译的角度来看,它和其它一般的函数 ...

  7. 基础 | batchnorm原理及代码详解

    https://blog.csdn.net/qq_25737169/article/details/79048516 https://www.cnblogs.com/bonelee/p/8528722 ...

  8. 2020你还不会Java8新特性?方法引用详解及Stream 流介绍和操作方式详解(三)

    方法引用详解 方法引用: method reference 方法引用实际上是Lambda表达式的一种语法糖 我们可以将方法引用看作是一个「函数指针」,function pointer 方法引用共分为4 ...

  9. Java工程师 基础+实战 完整路线图(详解版)

    Java工程师 基础+实战 完整路线图(详解版)   Java 基础 Java 是一门纯粹的面向对象的编程语言,所以除了基础语法之外,必须得弄懂它的 oop 特性:封装.继承.多态.此外还有泛型.反射 ...

随机推荐

  1. 递归方法,查询出树该组织及以下组织的组织ID

    -- 查询出该组织下所有组织id的集合 --方法一: public String getAllOrgidsTwo(Integer orgid){ List<Integer> orgids= ...

  2. UWP 使用UCT的Markdown控件

    之前在网上偶然碰到过 一个在线的Markdown Text编辑器 http://mahua.jser.me/,功能很齐全. 然后就突然有了一个大胆的想法 这个玩意要是在uwp中实现,用来做更新日志说明 ...

  3. TypeScript入门知识三(函数新特性)

    一,Rest and Spread操作符: 用来声明任意数量的方法参数也就是"..."操作符 输出结果: 18 jajj 89 function test (a, b, c) { ...

  4. Linux中“is not in the sudoers file”解决方法

    当在终端执行sudo命令时,系统提示"hadoop is not in the sudoers file": 其实就是没有权限进行sudo,解决方法如下(这里假设用户名是cuser ...

  5. 初尝Eclipse

    一.选择开发工具 1.Eclipse和JDK 我所选用的是Eclipse开发工具,此工具可以用来编译JAVA语言,但windows系统没有内置的JAVA运行环境,所以需要下载JDK,用来配置JAVA的 ...

  6. Cannot resolve taglib with uri http://java.sun.com/jsp/jstl/core

    问题 <Spring 实战>第5章,在 IDEA 中 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" pre ...

  7. canvas动画气球

    canvas小球的动画我用canvas画布实现的小球动画效果,可以参考下 我用canvas画布实现的小球动画效果,可以参考下 我用canvas画布实现的小球动画效果,可以参考下 我用canvas画布实 ...

  8. java判断用户输入的是否至少含有N位小数

    判断用户输入的是否至少含有N位小数. 1.当用户输入的是非数字时抛出异常,返回false. 2.当用户输入数字是,判断其数字是否至少含有N位小数,如果不含有,返回false. 3.当用户输入的数字的小 ...

  9. extract-text-webpack-plugin---webpack插件

    var ExtractTextPlugin=require('extract-text-webpack-plugin');//build使用 { test:/\.css$/, use:ExtractT ...

  10. html-简单的简历表制作

    代码如下: <!DOCTYOE html> <html> <head> <meta charset='UTF-8'/> <title>课后作 ...