main函数其实也是所在类的一个方法,就比如一个类是test,那么该类的main其实就是test.main(String[] args),众所周知如果一个方法不是静态的,则要先实例化该类,比如要这样 test t=new test(); 
然后才能调用 test.main(); 
而这对于运行一个程序的主函数来说是不现实的,所以比如把main函数定义为static,使test.main()可以直接被调用。

因为是程序入口啊  
不然你从哪里开始new对象 ?

所有static成员都是在程序装载时初始化的,被分配在一块静态存储区域。这个区域的成员一旦被分配,就不再改变地址啦。直到程序结束才释放。
main()就存储在这里。
尽管包含main()的类还没有被实例化,但是main()方法已经可以使用啦。

我觉得这个解释比较合理,另外常驻内存的方式就是使用static,而且main方法是程序的入口,是启动
Java虚拟机的,所以也没有太多的讨论的价值!

如果main不是静态,在一个Test类下面,我们怎么运行呢。 
Test t=new Test(); 
t.main(); 
这样程序才能运行,....这样不是很麻烦么

程序的入口; 
如果整个程序没有一个静态方法, 你怎么启动她?

main方法为什么是静态的的更多相关文章

  1. 1-为什么java的main方法必须是静态的

    为什么java的main方法必须是静态的   今天看类型信息时发现一个问题,不能再main方法中打印this关键字的信息,这时想起了之前的知识,不能再静态方法中调用this.理由很简单,this表示“ ...

  2. 为什么java的main方法必须是静态的

    今天看类型信息时发现一个问题,不能再main方法中打印this关键字的信息,这时想起了之前的知识,不能再静态方法中调用this.理由很简单,this表示“这个对象”,也就是声明一个类的对象,然而静态方 ...

  3. 神奇的main方法详解

    main函数的详解:    public : 公共的. 权限是最大,在任何情况下都可以访问.        原因: 为了保证让jvm在任何情况下都可以访问到main方法.    static:  静态 ...

  4. public static void main(String[] args){} 关于Java main()方法

    是Java程序的入口方法,JVM在运行程序时,会首先查找main()方法. public是权限修饰符,表明任何类或对象都可以访问这个方法: static表明main()方法是一个静态方法,即方法中的代 ...

  5. JAVA_SE基础——37.main方法的详解

    主函数 大家都会写吧. 大家一直都不知道为何这样设计,这样设计有什么好处呢? 白话解释: main函数的修饰符是public: 公共的 为何不用private 等等的修饰符 而规定只用public呢? ...

  6. 读书笔记 C# 控制台应用程序之Main方法浅析

    Main方法是C#控制台应用程序和Windows窗体应用程序的入口点.Main方法可以有形参,也可以没有,可以有返回值(int整型),也可以没有.如下定义: 无返回值.无形参的格式: static v ...

  7. Java基础学习总结(78)——Java main方法深入研究学习

    1.不用main方法如何定义一个类? 不行,没有main方法我们不能运行Java类. 在Java 7之前,你可以通过使用静态初始化运行Java类.但是,从Java 7开始就行不通了. 2.main() ...

  8. c#Main()方法,java 是小写main

    main 方法,staitc 静态关键首字母大写,区分大小写,java 是main小写,返回值 ,vodi,int参数:可选static void Main(string[] args){ }

  9. Java:关于main方法的10道面试题

    感觉假期过得好快,东西也丢得快. 假期吃喝玩乐之余也来温故一下Java知识,下面给大家整理了10道Java main方法的经典面试题,都来挑战一下自己的Java基础知识吧! 1.main方法是做什么用 ...

随机推荐

  1. OpenCV 3.2 Viz 3D可视化

    该可视化模块提供了坐标系变化,3D动画等功能 最简单的显示坐标系 viz::Viz3d window("window"); window.showWidget("Coor ...

  2. journalctl 日志查看方法

    1  概述 日志管理工具journalctl是centos7上专有的日志管理工具,该工具是从message这个文件里读取信息.Systemd统一管理所有Unit的启动日志.带来的好处就是,可以只用jo ...

  3. Javascript闭包例子

    闭包的概念 内层的函数可以引用存在于包围它的函数内的变量,即使外层函数的执行已经终止.可理解为,闭包就是能够读取其他函数内部变量的函数. 表现形式是:定义在函数内部的函数. function f1() ...

  4. HBase 数据的多版本特性潜在的意外

    HBase做为KeyValue结构存储,在存储上是依照RowKey的字典序进行排序,对于很多应用而言这可能远远不够,好在HBase的数据可以存储多个版本,并且版本可以排序,其理论上最大的版本数目Int ...

  5. hdu2037今年暑假不AC(贪心,活动安排问题)

    今年暑假不AC Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submi ...

  6. 接口文档神器--apiui的使用

    接口开发,最麻烦的就是写文档了,曾经我也因为写接口文档苦不堪言:自从使用了apiui接口文档神器,工作效率和文档清晰得到了不止一个档次的提升. 下面介绍一下这个神器的使用: 把文件下载下来,放在网站根 ...

  7. 测试模拟 白屏 / FOUC

    白屏和FOUC 白屏与无样式内容闪烁(FOUC)是因为不同浏览器加载与显示页面的机制不同而造成的. 我们可以通过一个实验来进行测试和模拟白屏.FOUC的现象,让我们更好的理解白屏.FOUC. 测试de ...

  8. dice2win

    触发交易 转0个 https://etherscan.io/tx/0x784e80167353a886183106cbe3bd15e614cafdb5d6885ccd101177aa0f937a36 ...

  9. 怎么用js精确判断li已经在ul存在过了?

    <ul class="memory_messagelist" id="memory_messagelist"> <li><span ...

  10. Catch That Cow(BFS广搜)

    Description Farmer John has been informed of the location of a fugitive cow and wants to catch her i ...