A. java提示main方法不能声明为静态。
main方法只能声明在static的方法中。
你碰到的问题是,Knowedge是内部非静态类类。
你可以把Knowedge变为static类,或者把Knowedge作为外部类。
这样:
classTree{
Stringname;
intage;
intweight;
publicTree(Stringname,intage,intweight){
this.name=name;
this.age=age;
this.weight=weight;
}
publicStringTalk(){
return("世界上最大的生物是:"+name+" 他的年龄是:"+age+" 他的体重为:");
}
publicstaticclassKnowedge{
publicstaticvoidmain(String[]args){/*这里提示main()不能修饰为静态=,只有在静态类型或顶级类型中才能声明静态方法。*/
Treemost=newTree("世界爷",2000,1000);
System.out.println(most.Talk());
}
}
}
或者这样:
classTree{
Stringname;
intage;
intweight;
publicTree(Stringname,intage,intweight){
this.name=name;
this.age=age;
this.weight=weight;
}
publicStringTalk(){
return("世界上最大的生物是:"+name+" 他的年龄是:"+age+" 他的体重为:");
}
}
publicclassKnowedge{
publicstaticvoidmain(String[]args){/*这里提示main()不能修饰为静态=,只有在静态类型或顶级类型中才能声明静态方法。*/
Treemost=newTree("世界爷",2000,1000);
System.out.println(most.Talk());
}
}
B. java中的main函数为什么是静态的
非静态成员函数在执行前必须先构造并实例化该函数所在的类。
如果允许非静态的main,那么main函数所在的类必须先进行实例化,
那么就需要再写个函数去实例化main所在的类,再调用main,这个实例化代码又写在哪呢?如果它也是非静态的,岂不是又要写个函数去实例化它所在的类嘛?
因此,JAVA语言就规定了main必须是静态的。
C. 在java中为什么要把main方法定义为一个static方法
1、首先介绍一下static这个修饰符
在类中,变量的前面有修饰符static称为静态变量(类变量),方法的前面有修饰符static称为静态方法(类方法)。静态方法和静态变量是属于某一个类,而不属于类的对象。
2、如果一个方法没有用static来修饰的话就说明这是一个成员方法,只能通过对象来调用这个方法
3、在Java程序运行时,是没有实例化任何对象的,只能通过调用类方法来运行main方法,
所以会用static来修饰
D. 代码必须包含一个main的共有main的静态方式
是的,在Java语言中,一个类必须包含一个名为“main”的静态方法,才能作为程序的入口点。该方法必须遵循以下形式:
publicstaticvoidmain(String[]args)
在这个示例中,“public”是访问修饰符,表示该方法可以被任何地方调用。“static”表示该方法是一个静态方法,可以直接通过类名调用,而不需要实例化类。“void”表示该方法不返回任何值。“String[]args”是该方法的参数列表,它表示该方法可以接收一个字符串数组作为参数。
在Java语言中,main方法是程序的入口点,是程序执行的起点。当程序运行时,Java虚拟机会自动寻找包含main方法的类,并调用它的main方法。因此,如果您希望编写一个可以运行的Java程序,那么您必须包含一个main方法
E. 怎样在java中定义一个main类,并且为public属性,且main类中包含main的静态方法
//名为Main的一个类
public class Main {
//主方法
public static void main(String[] args) {
}
//名为main的无参静态方法
public static void main() {
}
//名为main的有参静态方法
public static void main(int n) {
}
}
F. java中的main函数为什么是静态的
main函数
其实也是所在类的一个方法,就比如一个类是test,那么该类的main其实就是test.main(String[]
args),众所周知如果一个方法不是静态的,则要先
实例化
该类,比如要这样
A
a=new
A();
然后才能调用
a.main();
而这对于运行一个程序的
主函数
来说是不现实的,所以比如把main函数定义为static,使a.main()可以直接被调用。
因此,java规定了main函数必须是静态的
G. 为什么java的main方法必须是静态的
所有static成员都是在程序装载时初始化的,被分配在一块静态存储区域。
这个区域的成员一旦被分配,就不再改变地址啦。直到程序结束才释放。
main()就存储在这里。
尽管包含main()的类还没有被实例化,但是main()方法已经可以使用啦。
而且JVM将会自动调用这个方法。通过main()的调用,再实例化其他的对象,
也包括自己所在的类。
H. 填空题:Java应用程序中的main方法,必须是一个________静态方法
Java中 main 方法的写法是
public static void mian(String arg[]) {...}
由此可知,Java应用程序中的main方法,必须是一个共有的(public),无返回值(void),带参的(String arg[]) 静态(static)方法
希望能帮到你
I. Java中main()的声明格式包括哪些
publicstaticvoidmain(String[]args)throwsException{}main方法被声明为静态方法(static),一般在一个类里面定义这样的main方法对该类进行一些简单的测试。main方法就这一种声明格式。1.public定义main方法的访问权限为公有的。2.static声明为静态方法,静态方法是属于类的,在没实例化之前就可以使用。3.void声明返回方式。4.如果在main方法里面会抛出异常且未当场处理时需加上throwsException,否则可以不用,Exception可以是你自己定义的异常。5.重点介绍一下main函数的参数String[]args:String[]args是main函数的形式参数,可以用来获取命令行用户输入进去的参数。声明main函数的时候一定要在括号里写上它,否则会报错。举个用到String[]args的例子,可能不能运行,权当给你理解用。classExample{publicvoidmain(String[]args){System.out.println(args[0]);System.out.println(args[1]);}}那么这个程序在执行的时候就需要向main函数传递形式参数的值,好让main函数完成打印的功能。注:String[]args显示args是一个String类型的数组,args[0]、args[1]是头两个元素。执行时在控制台输入:straulgood后面两个字符串随便写什么,它们作为实参传入main函数,straul传入args[0],good传入args[1]。那么屏幕会出现:straulgood这和在main函数里调用其他函数并且向被调用函数传递参数是一样的道理,只不过传给main函数罢了。希望对你有用!J. Java中的静态方法和主方法应该先执行哪个
mian方法也是静态方法,main方法是程序入口,肯定先执行main方法,然后将要执行的方法在main调用,否则不会被执行。
如果想在main之前被执行的话,写入static块
例如:
public class Test{
static{
System.out.println("static");
}
public static void main(String [] args){
System.out.print("main");
}
}