1.标准的main函数形式  

  对于main函数,只要是

public static void main(String[] args)
public static void main(String... args)
public static void main(String args[])

  这样的,虚拟机都能找到并进入程序,如果你的main函数没有这样写,会提示找不到main函数。

  2.main函数的修饰

  (1)public,因为需要从外部调用;

  (2)static,这时main所在的类还没有实例化;

  (3)void,表明不返回值。

  3.main函数的一般性

  除了main是程序的入口外,main函数就是一个普通的函数,每个类都可以有。我们可以对main函数进行调用,重载...

  4.重载main方法

public class test {
    public static void main(int i) {
        System.out.println("int main : " + i);
    }
    public void main(char c) {
        System.out.println("char main : " + c);
    }
    public void main(String s) {
        System.out.println("char main : " + s);
    }
    public static void main(String[] args) {
        test temp = new test();
        main(11);
        temp.main('t');
        temp.main("temp");
    }
}

  5.调用main方法

public class test {
    private static boolean done = false;

    public static void print() {
        if(!done) {
            done = true;
            System.out.println("in print");
            String[] args = {"a", "b", "c"};
            main(args);
        }
    }

    public static void main(String[] args) {
        for(String s : args)
            System.out.print(s + " ");
        print();
    }
}

  6.继承main方法

class superTest {
    public static void main(String[] args) {
        System.out.println("in super");
    }
}

public class test  extends superTest{
    public static void main(String[] args) {
        superTest.main(args);
        System.out.println("in test");
    }
}

  7.调用另外一个程序的main方法

  这里我只是调用同一个.java文件下的类,你可以调用不同的.java的类,不同package的类的main方法,只要你能在Class.forName()里给出正确的路径。

package test;

import java.lang.reflect.Method;

public class testClass{
    public static void main(String[] args) {
        Class<another> c = null;
        try {
            c = (Class<another>) Class.forName("test.another"); //找到另外一个程序的class
            Method m = c.getDeclaredMethod("main", args.getClass()); //找到该class的main方法
            m.invoke(null, (Object) new String[0]);
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("in test");
    }
}

class another {
    public static void main(String[] args) {
        System.out.println("in another");
    }
}

java之main函数(笔记)的更多相关文章

  1. Java面向对象 Main函数 静态的应用 单例设计模式

     Java面向对象 Main函数 静态的应用与单例设计模式 知识概要             (1)Main函数的细解 (2)静态的应用,静态变量,静态代码块,静态函数 (3)单例设计模式 1.M ...

  2. eclipse的maven项目,如何使用java run main函数

    项目使用maven管理,一般说来就使用jetty:run了.但是对于做功能测试和集成测试的用例,需要使用自定义的quickrun来运行进行测试环境的参数设定和功能隔离,google一番发现maven有 ...

  3. [Java基础]java的main函数

    1.main函数详解 main在编程中的形式:public static void main(String[] args) { - } public : 公共的. 权限是最大,在任何情况下都可以访问. ...

  4. java中main函数解析(转载)

    从写java至今,写的最多的可能就是主函数 public static void main(String[] args) {} 但是以前一直都没有问自己,为什么要这么写,因为在c语言中就没有这样子的要 ...

  5. java中main函数的String[] args

    写java程序时main函数必须有一个字符串数组即String[] args 作用:用来获取用户从命令行输入的参数 如果main函数中不写字符串数组,则将会报错

  6. java里面main函数为什么要用static修饰

    这学期刚开java,因为之前只写过C++和Python没接触过java,有些写法挺不习惯的,今天写完一个程序,run的时候发现提示the selection can't be launched.... ...

  7. java中main函数解析

    从写java至今,写的最多的可能就是主函数 public static void main(String[] args) {} 但是以前一直都没有问自己,为什么要这么写,因为在c语言中就没有这样子的要 ...

  8. java中main函数怎么调用外部非static方法

    使用外部方法时(不管是static还是非static),都要先new一个对象,才能使用该对象的方法. 举例如下: 测试函数(这是错误的): public class Test { public sta ...

  9. java的main函数组成

    package test;/*public static void main(String[] args)主函数特殊之处:1.格式是固定的2.被jvm(虚拟机)所识别和调用 public:因为权限必须 ...

随机推荐

  1. 手持终端PDA应用固定资产管理系统(资产查询 盘点)软件程序系统

    一.产品概述 固定资产管理系统,是针对企事业单位内部资产管理中出现的工作量大.过程繁琐.追踪困难等一系列难题开发的一套先进管理软件.软件实现了对资产的多种方式管理,目前包括条形码.二维码.RFID管理 ...

  2. BZOJ 2716 [Violet 3]天使玩偶 ——KD-Tree

    [题目分析] KD-Tree的例题.同BZOJ2648. [代码] #include <cstdio> #include <cstring> #include <cstd ...

  3. CSS 样式使用

    [attribute] 用于选取带有指定属性的元素. [attribute=value] 用于选取带有指定属性和值的元素. [attribute~=value] 用于选取属性值中包含指定词汇的元素. ...

  4. [转]Tangram框架应用开发的一般模式

    //转的,怕想百度博客一样搬家,赶紧先复制下来. 框架其实就是一种开发模式,用tangram框架开发应用程序意味着选择一种面向接口.模块化的开发方式.这和传统的Delphi应用程序开发方式有一定区别, ...

  5. OpenCV 线性混合(4)

      带滚动条的线性混合示例:   #include "stdafx.h" #include<iostream> #include<thread> #incl ...

  6. LightOJ1036 A Refining Company(DP)

    题目大概说有一个n*m的格子地图,每个格子有铀或者镭矿.地图最北面的镭矿加工厂,最西面有铀矿加工厂,而要通过在格子里铺设由南向北(镭)或由东向西(铀)的轨道来送矿物到加工厂.一个格子只能铺设一种轨道, ...

  7. 每天一个linux命令--su

    su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell:而后者连用户和Shell环境一起切换成root身份了. [richmail@porta ...

  8. BZOJ 1053 & 反素数

    题意: 反素数,膜一篇GOD's Blog...http://blog.csdn.net/ACdreamers/article/details/25049767 此文一出,无与争锋... CODE: ...

  9. JS 用sort方法排序字符串

    JavaScript提供了一种更简便的方法用于比较两个字符串——localeCompare(),localeCompare()使用本地特定的顺序来比较两个字符串,语法如下:string.localeC ...

  10. 编写高效的js/jQuery代码 :rocket:

    讨论jQuery和javascript性能的文章并不罕见.然而,本文我计划总结一些速度方面的技巧和我本人的一些建议,来提升你的jQuery和javascript代码.好的代码会带来速度的提升.快速渲染 ...