Java中main函数只能调用同类中的静态方法?
我在主类中写了一个public方法。提示错误、要转换为static、为什么、主函数不可以调用本类中的非静态方法?
哦哦、、谢谢!!!
追答楼主给分呀
如果想调用本类中的非静态方法可以这么来写。
追问public class First {
public static void main(String[] args) {
InPut("shuzu");
}
public static void InPut(String t){
System.out.println(t);
}
}
为什么InPut方法少了static就不行?
对于一般的非static成员变量或方法,需要有一个对象的实例才能调用,所以要先生成对象的实例,他们才会实际的分配内存空间。而对于static的对象或方法,在程序载入时便已经分配了内存空间,他只和特定的类想关联,无需实例化。
本回答被提问者采纳如果不想深究可以记住一句话:静态成员方法只能访问静态成员
关于java中的main方法
首先,main方法不能直接调用非静态方法,要调用非静态方法只能通过new实现,new后会调用类的构造器,所以main调用非静态方法那么就一定会调用其构造器;其次,构造器不属于静态的块,类的加载顺序中静态的会先加载,同样静态的会按顺序加载,你可以试试你就会发现静态的在构造器前或后都会比构造器先加载 最后...
为什么Java中的main方法必须是public static void的?
大彬:第一,为什么 main 方法是公有的(public)?Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。而对于main方法来说,我们需要通过JVM直接调用它,那么就需要它的限定符必须是public的,否则是无法访问的。大彬:第二,为什么 main 方法是静态的...
Java提示main方法不能声明为静态。
}}public class Knowedge { public static void main(String[] args) { \/* 这里提示main()不能修饰为静态=,只有在静态类型或顶级类型中才能声明静态方法。 *\/ Tree most = new Tree("世界爷", 2000, 1000); System.out.println(most.Talk()); }} ...
为什么main方法是public static void
main是java程序执行的入口,原则上他不属于任何类,但是由于java是一门面向对象的语言,在java中,万事万物皆为对象,这也就导致了main函数需要依赖于类而存在。因此他必须是类中的函数,但是肯定不能为成员函数(成员函数为类的一个特定的动作),因此只能static静态函数。另外,他需要具有外部访问的特征...
java 在主函数中调用函数的方法
调用说明:java中的main方法是静态的,用于程序的入口,在静态方法中无法调用非静态方法,只能调用静态方法。想调用静态方法的话就要先生成该类的一个对象,通过对象调用非静态方法。调用举例:public class A{ public static void main(String[] args){ A a = new A();a.aaa();} public void aaa...
代码必须包含一个main的共有main的静态方式?
是的,在Java语言中,一个类必须包含一个名为“main”的静态方法,才能作为程序的入口点。该方法必须遵循以下形式:public static void main(String[] args)在这个示例中,“public”是访问修饰符,表示该方法可以被任何地方调用。“static”表示该方法是一个静态方法,可以直接通过类名调用,而不需要实例...
java中main方法里面调用非静态方法。
非静态方法()的方式来访问!static是一种访问修饰符,在java中可以修饰代码块、方法和属性 1、静态块:用于在类加载之前完成一些初始化操作,仅会执行一次 2、静态方法:可以使用类名和对象调用,只能直接访问静态成员,无法访问非静态成员 3、静态属性:可以使用类名和对象名调用,多个对象共享 ...
...方法调用另一个方法需要将被调用的方法声明static
不是的,但如果你在main方法里面调用的话就得是static了,因为main本来就是静态方法,只能调用静态的方法了。如果不是在main方法里面就可以。
java Main函数怎么调用其他函数。 其他类。
一般,在静态的方法中,若要|-直接-|调用其他方法,那么被调用的也必须是静态。你的程序中包含两个部分 方法getInt() 和主函数main 其中主函数是静态(main必须是静态)。那么要在main中直接调用getInt()是不可以了,因为getInt没有用static修饰,也就是说getInt不是静态。将public void getInt() ...
java 1.类方法中只能调用本类中的类方法???2.可以直接调用???
可以new 一个实例之后再调用的,也可以调用别的类的静态的方法的。静态方法不需要声明对象就可以调用。