大家好,今天小编关注到一个比较有意思的话题,就是关于java语言main的问题,于是小编就整理了4个相关介绍Java语言main的解答,让我们一起看看吧。
- 请问JAVA的main函数前加的static和public是什么意思?代表了什么?不加呢?
- java main方法启动时jvm做了什么?
- java main中声明一个类对象,如何在另外的类方法中使用这个类对象?
- java中的main函数为什么是静态的?
请问JAVA的main函数前加的static和public是什么意思?代表了什么?不加呢?
main是方法的入口,jvm回去调用这个方法,别的方法不会去调用的,除非你指定了调用哪个方法。
static表示程序初始化的时候就已经加载了这个方法,不理在用对象去调用该方法,而是直接用类名去调用该方法,public 代表共有的访问属性,如果你写成private除了本类意外是掉不到得,默认的是程序集级别的访问属性,如果不加static的话程序没法运行,jvm找不到入口 有不明白的话在追问j***a main方法启动时jvm做了什么?
当我们写一个J***a类,并重写Main方法,程序就能运行起来。main方法的背后,程序为什么能运行,jvm究竟做了什么处理?要理解这些,就需要了解jvm的设计原理以及启动的流程。
虚拟机的启动入口位于share/tools/launcher/j***a.c的main方法,整个流程分为如下几个步骤:
2、解析虚拟机参数
4、执行J***a main方法
j***a main中声明一个类对象,如何在另外的类方法中使用这个类对象?
监听类里设置一个Register类的变量,再添加一个构造方法用于传递参数:public class Handler implements ActionListener{ private Register window;public Handler(Register r){ window=r;}public void actionPerformed(ActionEvent e){ window.registerWindow(); }设置监听时把参数传递进去:button.addActionListener(new Handler(window));
public class Handler implements ActionListener{ private Register window;public Handler(Register r){ window=r;}public void actionPerformed(ActionEvent e){ window.registerWindow(); }设置监听时把参数传递进去:button.addActionListener(new Handler(window));
j***a中的main函数为什么是静态的?
main函数其实也是所在类的一个方法,就比如一个类是test,那么该类的main其实就是test.main(String[] args),众所周知如果一个方法不是静态的,则要先实例化该类,比如要这样 A a=new A();然后才能调用 a.main(); 而这对于运行一个程序的主函数来说是不现实的,所以比如把main函数定义为static,使a.main()可以直接被调用。 因此,j***a规定了main函数必须是静态的
到此,以上就是小编对于j***a语言main的问题就介绍到这了,希望介绍关于j***a语言main的4点解答对大家有用。