java中没有用java static main修饰main方法,找不到入口

java程序在cmd中运行,提示“在类xxx中找不到main方法”_百度知道
java程序在cmd中运行,提示“在类xxx中找不到main方法”
用eclipse运行没问题,用cmd就会提示:
错误: 在类 People 中找不到 main 方法, 请将 main 方法定义为:
public static void main(String[] args)
否则 JavaFX 应用程序类必须扩展javafx.application.Application
以下就是代码:
public class P...
我有更好的答案
在public类中写main函数public&class&People{&int&&void&speak(){&&System.out.printf(&我身高是:%d&,height);&}&public&static&void&main(String&args[]){&}}class&A{&public&static&void&main(String&args[]){&&People&&&zhubajie=new&People();&&zhubajie.height=170;&&System.out.println(zhubajie.height);&&System.out.println(&主类不一定是public类&);&&zhubajie.speak();&&&}}
加了那一句反而什么结果都出不来。我的代码和别人是一样的人家电脑OK。不知道问题出在哪里,不过应该不是代码问题。
你用Eclipse确定你之前的代码能运行?public类中必须写一个入口函数(main)来输出.你用eclipse运行可以选择运行A类或者people类中的主方法.或者你把A类中的主方法移到person类中
采纳率:45%
为您推荐:
其他类似问题
java程序的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。java 在类中找不到 main 方法?_百度知道
java 在类中找不到 main 方法?
1.我弄了一个A类里面有许多静态函数,没有写主函数2.然后弄了个B类,里面写了主函数并调用A类中的函数结果虚拟机就说:A类没有主函数这是咋回事???
求大神帮我!!!
javac 通过,但是运行java就不通过
我有更好的答案
你运行A类是运行不起来,但你B类有主函数,你可以运行B类啊。。。不是要求每个类都有主函数,你需要运行哪个就在哪个里面加主函数
采纳率:64%
你运行B类,别运行A类
给程序加一个public static void main(...){}函数,虚拟机找不到程序的入口怎么执行编译好的程序。
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。java main 方法中可以用static吗_百度知道
java main 方法中可以用static吗
我有更好的答案
public&static&void&main(String[]&args){//static当然是必须的&&&&System.out.println(&测试!&);}
采纳率:78%
static是成员变量及方法的修饰符,是属于类本身的数据字段,在加载类时就已经初始化,为内存中保存.在方法体内声明的只是局部临时变量,当方法体结束后,这些临时变量会自动销毁,释放缓存空间,所以在方法内部声明变量不能加static。
public&static&void&main(String&[]args){}
可以。最好是加上static 这样可以优先加载。
你确定不加static可以运行?
其他2条回答
为您推荐:
其他类似问题
static的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。JAVA编程错误: 在类 Circle 中找不到主方法, 请将主方法定义为: public static void main(String[] args)_百度知道
JAVA编程错误: 在类 Circle 中找不到主方法, 请将主方法定义为: public static void main(String[] args)
public class Circle {
private float r=50;
double π=3.14;
Circle() {
public Circle(float r,double s,double z){
public Circle(double s2) {
// TODO Auto-gener...
我有更好的答案求助知道网友
public class Circle {改为:class Circle {;class test{改为:public class test{文件名记得改为test.java
main方法必须存在于以public修饰的类中。你的Circle类使用了public修饰,但是没有main方法。你的main方法在test类中,而你的test的类不是使用public修饰的。另外,一个.java文件中,只能存在一个被public修饰的类
本回答被提问者和网友采纳
1条折叠回答
为您推荐:
其他类似问题
java编程的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。今天看类型信息时发现一个问题,不能再main方法中打印this关键字的信息,这时想起了之前的知识,不能再静态方法中调用this。理由很简单,this表示“这个对象”,也就是声明一个类的对象,然而静态方法是不属于某一个特定对象而是属于这个类的。那么问题来了,为什么main函数必须设置成静态的呢?
首先,main函数作为java程序的入口,也可以理解为一个接口,这个接口不是提供给程序员使用的,这时提供给用户等使用的,用户等不需要知道程序内部的实现,只需要知道接口就可以了,如果是非静态的,那么当用户开始使用时,就必须先去创建对象,那么创建对象的代码又写在哪里呢?呵呵,所以这个很难讲清。
看了一篇博客,写得还可以,转载过来。以下内容来自http://www.cnblogs.com/yangyisen/p/5108513.html。
Main方法是我们学习Java编程语言时知道的第一个方法,你是否曾经想过为什么main方法是public、static、void的。当然,很多人首先学的是C和C++,但是在Java中main方法与前者有些细微的不同,它不会返回任何值,为什么main方式是public、static、void,这篇文章尝试去找到一些答案。
Main方法是Java程序的入口,记住,我们这里不会讨论Servlet、MIDlet和其他任何容器管理的java程序,在java核心编程中,JVM会查找类中的public static void main(String[] args),如果找不到该方法就抛出错误NoSuchMethodError:main&程序终止。Main方法必须严格遵循它的语法规则,方法签名必须是public static void,参数是字符串数组类型,如果是Java1.5及以后的版本还可以使用可变参数:
static void main(String... args)
为什么main方法是静态的(static)
正因为main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例。
因为C和C++同样有类似的main方法作为程序执行的入口。
如果main方法不声明为静态的,JVM就必须创建main类的实例,因为构造器可以被重载,JVM就没法确定调用哪个main方法。
静态方法和静态数据加载到内存就可以直接调用而不需要像实例方法一样创建实例后才能调用,如果main方法是静态的,那么它就会被加载到JVM上下文中成为可执行的方法。
为什么main方法是公有的(public)
Java指定了一些可访问的修饰符如:private、protected、public,任何方法或变量都可以声明为public,Java可以从该类之外的地方访问。因为main方法是公共的,JVM就可以轻松的访问执行它。
为什么main方法没有返回值(Void)&
因为main返回任何值对程序都没任何意义,所以设计成void,意味着main不会有任何值返回
main方法必须声明为public、static、void,否则JVM没法运行程序
如果JVM找不到main方法就抛出NoSuchMethodError:main异常,例如:如果你运行命令:java HelloWrold,JVM就会在HelloWorld.class文件中搜索public static void main (String[] args) 放法
main方式是程序的入口,程序执行的开始处。
main方法被一个特定的线程”main”运行,程序会一直运行直到main线程结束或者non-daemon线程终止。
当你看到“Exception in Thread main”如:Excpetion in Thread main:Java.lang.NullPointedException&,意味着异常来自于main线程
你可以声明main方法使用java1.5的可变参数的方式如:
static void main(String... args)
除了static、void、和public,你可以使用final,synchronized、和strictfp修饰符在main方法的签名中,如:
strictfp final
synchronized static
void main(String[] args)
main方法在Java可以像其他方法一样被重载,但是JVM只会调用上面这种签名规范的main方法。
你可以使用throws子句在方法签名中,可以抛出任何checked和unchecked异常
静态初始化块在JVM调用main方法前被执行,它们在类被JVM加载到内存的时候就被执行了。
阅读(...) 评论()}

我要回帖

更多关于 java static修饰变量 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信