java之main函数(笔记)
2024-10-15 19:31:26
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"); } }
最新文章
- extern的用法
- C#访问Azure的资源
- Storm:最火的流式处理框架
- iOS _BSMachError: (os/kern) invalid capability (20)
- Data Base MySQL的常用命令
- ASPX的Timer位置没放正确,导致整页刷新,而不是UpdatePanel里的内容刷新。
- javascript 中的console.log的作用
- POJ 1308 Is It A Tree?--题解报告
- 【转】Header Only Library的介绍
- NYOJ--STL--擅长排列的小明(强大的string :: iterator 和next_permutation)
- Fiddler简介
- 一道JS 连续赋值运算的问题
- VS2015安装时问题汇总
- 一、K3 WISE 实施顾问教程《进度1-谈谈实施顾问》
- Ubuntu x86-64汇编(3) 数值操作指令
- 【源码】rm zip 删除文件夹中大量的小文件 百万 扫描文件时间
- [Java] Java API文档下载方法
- 是什么优化让 .NET Core 性能飙升?(转)
- 《深入理解Elasticsearch》README
- Linux rsync 企业级应用