主java
1. java中主方法的注意事项
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数等等。
在看Java中的main()方法之前,先看一个最简单的Java应用程序HelloWorld,我将通过这个例子说明Java类中main()方法的奥秘,程序的代码如下:
/**
* Java中的main()方法详解
*/
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
一、先说类:
HelloWorld 类中有main()方法,说明这是个java应用程序,通过JVM直接启动运行的程序。
既然是类,java允许类不加public关键字约束,当然类的定义只能限制为public或者无限制关键字(默认的)。
二、再说main()方法
这个main()方法的声明为:public static void main(String args[])。必须这么定义,这是Java的规范。
为什么要这么定义,和JVM的运行有关系。
当一个类中有main()方法,执行命令“java 类名”则会启动虚拟机执行该类中的main方法。
由于JVM在运行这个Java应用程序的时候,首先会调用main方法,调用时不实例化这个类的对象,而是通过类名直接调用因此需要是限制为public static。
对于java中的main方法,jvm有限制,不能有返回值,因此返回值类型为void。
main方法中还有一个输入参数,类型为String[],这个也是java的规范,main()方法中必须有一个入参,类细必须String[],至于字符串数组的名字,这个是可以自己设定的,根据习惯,这个字符串数组的名字一般和sun java规范范例中mian参数名保持一致,取名为args。
因此,main()方法定义必须是:“public static void main(String 字符串数组参数名[])”。
三、main()方法中可以throw Exception
因此main()方法中可以抛出异常,main()方法上也可以声明抛出异常。
比如,下面这个写法是正确的:
public class TestMain {
public static void main(String[] args) throws Exception {
System.out.println("哈哈哈哈哈");
throw new Exception("");
}
}
运行结果:
哈哈哈哈哈
Exception in thread "main" java.lang.Exception:
at maintest.TestMain.main(TestMain.java:11)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
Process finished with exit code 1
四、main()方法中字符串参数数组作用
main()方法中字符串参数数组作用是接收命令行输入参数的,命令行的参数之间用空格隔开。
下面给出一个例子,看看如何初始化和使用这个数组的。
/**
* 打印main方法中的输入参数
*/
public class TestMain {
public static void main(String args[]){
System.out.println("打印main方法中的输入参数!");
for(int i=0;i<args.length;i++){ System.out.println(args[i]);
}
}
}
执行方法和运行结果
D:/Study/basetest/src>javac TestMain.java
D:/Study/basetest/src>java TestMain 1 2 3
打印main方法中的输入参数!
1
2
3
五、给出HelloWorld的另外一个版本
/**
* 变态版的HelloWorld.呵呵
*/
public class HelloWorld2 {
static {
System.out.println("Hello Wordld!");
}
public static void main(String args[]){
System.exit(0);
}
}
这个main()方法执行的内容就一句"System.exit(0);" ,目的是让程序正常结束。那“HelloWorld!”是从哪里打印的,秘密就是在static打印的,因为static代码块的内容会在main调用前调用。
总结:
main方法作为一个特殊的规范,与普通的方法有很大区别,限制很多,理解其原理需要学习JVM相关知识。是Java中学习中大障碍。这是我对main原理和使用的总结,欢迎各位在此讨论。
2. java 中关于主方法的写法
java中主方法需要注意的是:
1、主方法是静态方法,所以如果要在主方法中调用其回他方法,则该方法也必须答要是静态的;
2、主方法是没有返回值的;
3、主方法的参数为数组args,其个数为args.length;
4、一个程序要运行必须有主方法的存在。
5、主方法是类的入口点,它定义了程序从何处开始,主方法提供对程序流向的控制,Java编译器通过主方法来开始执行程序。其一般定义方法如下:
public static void main(String[] args){
//方法体
}
3. Java主程是什么职位
最顶层是项目负责人,接下来项目会落实到PM(项目经理PM)
项目经理将任务分版成若干个子权项目,每个项目由一个PL(项目组长)负责。
在每个子项目中,由SE(系统工程师)带领PG(程序员)共同完成。
其中,PM和PL一般为具有资深项目管理经验、长期开发实践和良好交流能力的高级技术人才。
SE需要具有独立的设计和提案能力,具有长期开发实践经验和交流能力。
一般又可分为三种类型:
第一种,纯技术型SE,这种人往往会成为技术专家;
第二种,技术兼管理型SE,将来有希望成为PL、PM,甚至更高级的职位。
Bridge型SE(BSE),通常是负责与客户的沟通,以及团队内的协调工作。PG,也就是程序员,这类人才在企业中所占数量最多,通常占到了整个项目员工数的70%,也是企业中最紧缺的一类职位,一般为具有专业知识的软件工程技术人员。
通常,理工科的大学毕业生通过短期培训后,都可以胜任这个职位。
4. java的主类是什么
类的名字和文件名一致,并且包含main函数的类,叫做主类。
以下是详细解释和案例:
先区分两个概念,
类的名字:在代码中定义类的时候,起的名字。比如:public class Demo{ },这里定义的Demo就是类的名字。
文件名:.java文件的名字。比如:Demo.java的前缀Demo就是文件名。
一个文件至少包含一个类,则这个类的名字必须要和文件名一致。如果有多个类,则必须有一个类名和文件名一致。
楼上有人回答说,主类是带有main函数的类,是不对的。运行这段代码:
这个文件的名字是Demo.java,包含两个类:Demo 和 Demo2
classDemo{
publicstaticvoidmain(String[]args){
System.out.println("123");
}
}
classDemo2{
publicstaticvoidmain(String[]args){
System.out.println("abc");
}
}
//运行结果是:123
大家发现了,Demo和Demo2都有main方法,但是虚拟机Jvm执行Demo里的main函数,而不执行Demo2里的main函数,所以Demo是主类。
楼上还有人回答说“主类就是程序里面定义了一个public class,并且里面有main函数或者程序执行的入口。”也是不对的。比如上一段代码中,没有public修饰。主类不一定要被public修饰。
关于类的public修饰符,补充一下,供大家学习:
1.如果文件中只有一个类,文件名必须与类名一致,有没有public修饰都可以;
2.一个Java文件中最多只能有一个public类;
3.如果文件中不止一个类,而且有public类,文件名必须与public类名一致;
4.如果文件中不止一个类,而且没有public类,文件名可与任一类名一致。
5. java 主类有什么用
啥是主类啊?!
本来就没有所谓的主类、非主类之说。我们通常把含有main函数的类称之为主类。也就是先有main才有主类,别搞颠倒了。
换句话说,主类和其他类本质上没有任何区别。就好比会议室和卧室有什么区别?放了会议桌就是会议室,放个床那就叫卧室。
另外,一个项目(也就是编好的jar包)可以有主类,也可以没有。有的话可以有很多,具体使用哪个进入,那要看使用者。
再说一下main,main和普通函数本质上没区别,可以像普通函数一样调用(你试过没?)。唯一的区别就是,Java虚拟机有一个约定,一旦启动时给了一个类,而且这个类包含一个形如public static main(字符串数组)的方法,那就执行这个方法。
当然,深究起来这里面还有很多有意思的地方,比如main为什么是静态的?你自己考虑去。
6. java中什么是主调方法
实例化一个类的对象,然后用对象调用方法。
例如代码:
public class Test(){
public void say(){
System.out.println("hello");
}
public static void see(){
System.out.println("see");
}
public static void main(String[] args) {
Test test = new Test();
test.say(); // 第一种情况回
test.see();
Test.see(); // 第二种情况
}
}
上述代码有两答种调用方法的情况:
1,实例化一个类(new一个对象),用这个类的对象去调用类里面的方法。
2,当方法用了static修饰时,可以不用new类的对象,可以直接类名.方法名调用。
7. JAVA主方法。
是的,因为主方法是JVM执行这个类的入口,必须是Public的,而JVM执行这个类专的时候会首先执行main方法,属是不实例化这个类的,所以必须是static静态的,至于返回值void和入参,则是Java语言的规范,必须是这样的。
8. Java主函数
主函数:
一般而言,编写一个能运行在操作系统上的程序,都需要一个主函数。主函数意味着建立一个独立进程,且该进程成为了程序的入口,对其它各函数(在某些OOP语言里称作方法,比如Java)进行调用,当然其它被调用函数也可以再去调用更多函数.......这样整个程序的运行轨迹就像一种栈,有时我们称之为调用栈。主函数既是程序的入口,又是程序的出口,通常我们还可以指定一个exit code再退出,以表明程序最后的结果是什么样的。
作用:
由于主函数肩负着入口和出口的重任,所以最好不要把太多的细节方面的逻辑直接放在主函数内,这样不利于维护和扩展。主函数应该尽量简洁,具体的实现细节应该封装到被调用的子函数里面去。
程序示例:
C语言
按照C99标准的规定,C语言的main函数如下:
int main(
void){/*网络示例代码*/}//整数类型主函数(无类型)
或者
int main(intargc,
char*argv[]){/*网络示例代码*/}//整数类型主函数(整数类型统计参数个数,字符类型*
数组指针至字符[])
C++语言
按照C++98标准和C++11标准的规定,C++语言的主函数如下:
int main(){/*网络示例代码*/}//整数类型主函数
或者
int main(intargc,
char*argv[]){/*网络示例代码*/}//整数类型主函数(整数类型统计参数个数,字符类型*
数组指针至字符[])
Java语言
Java语言规定主函数必须是这样的:
staticvoidMain(String[]args){//静态无类型主函数(字符串[]args)
//网络示例代码......
}
这样就可以传一些参数给main函数。
C#语言
C#倡导帕斯卡命名法,Main规定必须是大写:
staticvoidMain(String[]args){//静态无类型主函数(字符串[]args)
//网络示例代码......
}
还有一种写法是:
staticvoidMain(){//静态无类型主函数
//网络示例代码......
}
9. java中主方法具体是什么,可以干什么,有什么作用,
1)Java中主方法就是main方法,是程序运行的入口,程序开始的起始方法,主方法是静态方法如果在主方法中调用其他方法其他方法也必须是静态方法
2)主方法是没有返回值的
3)主方法的参数是args,其个数是args.length
4) 一个程序要运行必须有主方法的存在
5)主方法是类的入口点,它定义了程序从何处开始,主方法提供对程序流向的控制,Java编译器通过主方法开始执行程序。
10. java主方法如何调用方法
实例化一个类的对象,然后用对象调用方法。
例如代码:
public class Test(){
public void say(){
System.out.println("hello");
}
public static void see(){
System.out.println("see");
}
public static void main(String[] args) {
Test test = new Test();
test.say(); // 第一种情况
test.see();
Test.see(); // 第二种情况
}
}
上述回代码有两种调用方法答的情况:
1,实例化一个类(new一个对象),用这个类的对象去调用类里面的方法。
2,当方法用了static修饰时,可以不用new类的对象,可以直接类名.方法名调用。