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. node.js整理 07例子

    需求 一个简单的静态文件合并服务器,该服务器需要支持类似以下格式的JS或CSS文件合并请求. http://assets.example.com/foo/??bar.js,baz.js 在以上URL中 ...

  2. loopback 01

    关于loopback的相关blog 安装: 官网 $ mkdir office-supplies $ cd office-supplies $ slc loopback $ slc loopback: ...

  3. express-20 REST API和JSON

    简介 "Web服务"是一个通用术语,指任何可以通过HTTP访问的应用程序编程界面(API); 我们的重点是提供"REST风格"的服务,与其交互要更直接得多. R ...

  4. node express新项目默认主文件app.js

    var express = require('express'); var path = require('path'); var favicon = require('serve-favicon') ...

  5. 8659 Mine Sweeping

    时间限制:500MS  内存限制:65535K提交次数:37 通过次数:15 题型: 编程题   语言: G++;GCC Description The opening ceremony of the ...

  6. AngularJS 指令(使浏览器认识自己定义的标签)

    对于angular js还有其强大之处,可以利用angular js的指令来自定义许多标签.下面是一个实例: 自定一个名为hello标签,视图如下: <div ng-app="myAp ...

  7. SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int

    --SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int --关键说明:--1.从系统表syscolumns中的查询所有xtype='48'的记录得到类型为[tinyint]的字段- ...

  8. SqlServer事务回滚(2)

    SQL Server 2008中SQL应用系列--目录索引 SQL事务 一.事务概念    事务是一种机制.是一种操作序列,它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行.因此事务是 ...

  9. Windows下安装Docker

    放在三年前,你不认识Docker情有可原,但如果现在你还这么说,不好意思,只能说明你OUT了,行动起来吧骚年,很可能你们公司或者你即将要去的公司,或者你想去的公司很可能就会引入Docker,或者已经引 ...

  10. float了的元素和内联元素不支持margin:auto

    float了的元素和内联元素不支持margin:auto