在java中和main方法并列的方法为啥一定要加static
原因就是 main 方法是静态的,所以 main 方法里直接调用的方法也必须是静态的。
【在java中和main方法并列的方法为啥一定要加static】 JAVA里有类的概念,有对象的概念,对象是类的实例,类是对象的模型。说白了就是,类是一个模板,对象就是照这个模板刻出来的具体事物,而静态方法和静态变量,是属于这个模板的,也就是类的,而非静态的方法和变量是从属于对象的,这两者互不干扰。
现在说为什么JAVA不允许静态方法调用非静态方法。假设,我们先创建了一个类,也就是模板,但是还没有用这个模板是生成对象,那么现在我们只有静态方法(因为非静态方法是对象的,目前没有对象)。那么你模板的静态方法,怎么去调非静态方法(压根就没有)?就算有了对象,有非静态方法了,那么你main方法是调用哪个对象的非静态方法呢?因此,你必须明确表明你调用的哪个对象的哪个方法,所以你需要先new一个对象object,然后object.method()。
■网友
你的意思是箭头所指的位置为什么要static是吗?如果sayHello方法不加static的话,那么他就是非静态的,他属于某个具体的对象,这种方法我们只能通过对象.方法名(比如new Main().sayHello())引用。所以main方法中调用sayHello方法有两种方式:sayHello方法加上static,main方法中直接调用sayHello方法不加static,main方法中new一个Main实例,然后调用这个实例的sayHello方法,也就是new Main().sayHello();
■网友
Static是静态的修饰符,加了main可以直接调用
■网友
不是一定要加的 只是你加了之后可以在main方法里面直接调用 不需要创建对象 因为main函数是静态方法 所以有一些方法设置为静态是为了方便调用
推荐阅读
- dart这编程语言现在发展怎么样了,语法与Java,c#很相似,甚至更简洁
- Java工程师和C++工程师在工作上有啥区别哪个更适合自身发展
- 27岁,转行java的血与泪,该何去何从
- 怎样统计工程中未使用的java类
- 新互联网网站用Java还靠谱么对比Php,Python,Ruby的话
- 我想学java和安卓软件开发?
- 学计算机专业,java那些和网站开发选台式还是笔记本好
- JAVA设计思路
- 本人大专毕业一年,想要去培训,定了JAVAEE和安卓两个方向,应该学那个纠结,求帮助
- 从未接触过软件测试和java,可以学习主要是自学这两种其一吗
