精华内容
下载资源
问答
  • 题目代码化: package com.test; public class Test { public void main(String[] args) { System.out.println("test"); } } 结果: 通过powershell再来验证一下: 正常编译,运行报错 ...

    题目代码化:

    package com.test;
    
    public class Test {
    	public void main(String[] args) {
    		System.out.println("test");
    	}
    }
    
    

    结果:
    在这里插入图片描述
    通过powershell再来验证一下:
    在这里插入图片描述
    正常编译,运行报错

    展开全文
  • 为什么 main 方法是 public static void ?

    千次阅读 多人点赞 2020-02-18 14:52:05
    文章目录 1、为什么main方法是静态的(static) 2、为什么main方法是公有的(public) 3、为什么main方法没有返回值(Void) 4、总结 main 方法是我们学习Java编程语言时知道的第一个方法,你是否曾经想过为什么 ...

    写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的

    这博客是对自己学习的一点点总结及记录,如果您对 Java算法 感兴趣,可以关注我的动态,我们一起学习。

    用知识改变命运,让我们的家人过上更好的生活


    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及以后的版本还可以使用可变参数:

    public static void main(String... args)
    

    1、为什么main方法是静态的(static)

    • 正因为main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例。

    • 因为C和C++同样有类似的main方法作为程序执行的入口。

    • 如果main方法不声明为静态的,JVM就必须创建main类的实例,因为构造器可以被重载,JVM就没法确定调用哪个main方法。

    • 静态方法和静态数据加载到内存就可以直接调用而不需要像实例方法一样创建实例后才能调用,如果main方法是静态的,那么它就会被加载到JVM上下文中成为可执行的方法。

    2、为什么main方法是公有的(public)

    Java指定了一些可访问的修饰符如:private、protected、public,任何方法或变量都可以声明为public,Java可以从该类之外的地方访问。因为main方法是公共的,JVM就可以轻松的访问执行它。

    3、为什么main方法没有返回值(Void)

    因为main返回任何值对程序都没任何意义,所以设计成void,意味着main不会有任何值返回。

    4、总结

    • 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的可变参数的方式如:
      public static void main(String... args)

    • 除了static、void、和public,你可以使用finalsynchronized、和strictfp修饰符在main方法的签名中,如:
      public strictfp final synchronized static void main(String[] args)

    • main方法在Java可以像其他方法一样被重载,但是JVM只会调用上面这种签名规范的main方法。

    • 你可以使用throws子句在方法签名中,可以抛出任何checked和unchecked异常。

    • 静态初始化块在JVM调用main方法前被执行,它们在类被JVM加载到内存的时候就被执行了。

    展开全文
  • 去掉main()中的static程序是否能编译和运行?


    答:可以编译,但不可以运行。                  用static修饰的就是静态方法。静态方法不依靠对象而存在。其直接与类有关,只要包含在类中,就可以得到执行。因此,main()方法作为程序的入口,在这之前是不可能有任何对象被建立的,也就是在main之前包括main自身不可能是非静态方法。

     

    展开全文
  • 碰到以下问题怎么办? 错误: 在类 com.zpt.three.GenericTest1 中找不到 main 方法, 请将 main 方法定义为:... public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application
    ice_down的编程Tips——007

    main方法明明存在却运行不了

    相关知识:Java

    一、问题描述

    错误: 在类 com.zpt.three.GenericTest1 中找不到 main 方法, 请将 main 方法定义为:
    public static void main(String[] args)
    否则 JavaFX 应用程序类必须扩展javafx.application.Application

    在这里插入图片描述

    二、解决方法

    其实能碰到这个问题大家可能都不是差一句public static void main(String[] args)

    很有可能是不小心导入了其他的同名包!

    在这里插入图片描述

    我的问题就是导入了一个不是常用的String(自动补全补的)把它去掉就好了

    五、一点碎碎念

    1.如有问题以及建议,欢迎联系邮箱:zpt艾特mail.nankai.edu.cn(为了防止被爬虫,艾特换为@)

    2.也欢迎通过微信公众号:SoulDa 进行交流!

    展开全文
  • 为什么Java的main方法必须是public static void? 一、 void 如下,像C, C++一样,将返回值类型改为int,再返回一个0,虽然编译通过,但是运行时会报错。   找到一种可理解的解释:方法的副作用和返回值类型。...
  • 为什么程序的入口一定要是public static void main(String args[])这个样子的呢?可以将public 或static去掉吗?或者不加参数可以吗?为什么函数的返回的是void?有问题,当然得去实践才能得到答案,接下来的内容将...
  •  static表明main()方法是一个静态方法,即方法中的代码时存储在静态区的,只要类被加载后,就可以使用该方法而不需要通过实例化对象来访问,可以直接通过 类名.main() 直接访问;  void表明方法没有返回值;  ...
  • 使用idea创建src的java文件时自带一个Main.java文件,该文件输出一句"Hello World",这是为什么呢?原来Hello World 中文意思是『你好,世界』。因为《The C Programme Language》中使用它做为第一个演示...
  • 一个类的main()方法必须用static来修饰,这是因为Java运行时系统在开始执行一个程序之前,并没有生成类的一个实例,它只能通过类名来调用main()方法作为程序的入口。
  • public static void main(String[] args) { String name = "62281642564124845"; String name1 = bankCardNoTM(name); System.out.println(name1); } /** * 功能描述: 客户名称脱敏 * 作 者: liuhoujun
  • JAVA 基础面试题

    2018-04-23 16:09:08
    今天在面试实习生的时候,...答:会执行,在方法返回调用者之前执行。Java允许在finally中改变返回值的做法是不好的,因为如果存在finally代码块,try中的return语句不会立马返回调用者,而是记录下返回值待finally...
  • java中static方法与非static方法之间的调用关系,有以下四种:1、非static方法调用非static方法,直接通过方法名调用2、static方法调用static方法,直接通过方法名调用3、非static方法调用static方法,直接通过方法...
  • 程序如下: package itheima02; import org.junit.Test; import java.io.File; public class Demo04Path { public static void main(String[] args) { File f = new File("day18_08_05\\src\\config.prope...
  • Java中main方法详解

    2017-01-11 17:40:50
    1 2 3 4 ...public static void main(String[ ] arg){...这个方法是所有java程序员再熟悉不过的方法了,但这个方法又是最特殊的方法,它的名字必须是main,它的参数必须是一个字符串数组,它的类型必须是public
  • 代码如下:class Program { static void Main(string[] args) { //原字符串 string str = ” hello world,你 好 世界 ! “; //去掉两端空格 str= str.Trim(); //以空格切割 string [] strArr
  • 以下是笔者认为比较经典的关于Java main方法的面试题,与其说是Java面试题,其实也是Java的一些最基础知识问题,分享给大家,如有错误,请指出。1.不用main方法如何定义一个类?不行,没有main方法我们不能运行Java...
  • 父类 public class TestA { public static int a=0; public int b=0; public static int c=0; public static void print(){ System.out.println("我也用"); } public void hello(){
  • 1、main方法基本原型 public class Test { public static void main(String args[] ) { System.out.println("helloWord!"); } } public: main方法访问权限设置成public是因为main方法是在程序...
  • public static void main(String[] args) { ApplicationContext app = SpringApplication.run(Application.class, args); } }   controller package example.controller; import org.spring...
  • 1.不用main方法如何定义一个类?不行,没有main方法我们不能运行Java类。在Java 7之前,你可以通过使用静态初始化运行Java类。但是,从Java 7开始就行不通了。2.main()方法需要的参数不是字符串数组?不是的,main()...
  • spring @value 注入static 注入静态变量方法

    万次阅读 多人点赞 2019-02-21 16:19:25
    对于spring static变量 下面给大家介绍spring不能注入static变量的原因,具体详情如下所示: Spring 依赖注入 是依赖 set方法 set方法是 是普通的对象方法 static变量是类的属性 只能在setAppId方法上加注解,...
  • static方法:

    千次阅读 2014-07-10 08:44:38
     static方法与非static方法的区别在于: static方法可以用类名直接访问在static内部的变量和方法,而不能引用非static的变量或者方法,但是你可以通过传递参数的方式传递一个引用,让这个引用去调用非静态数据。...
  • Java main方法

    2016-09-22 11:06:51
    浅谈java main方法 ...这个方法是所有java程序员再熟悉不过的方法了,但这个方法又是最特殊的方法,它的名字必须是main,它的参数必须是一个字符串数组,它的类型必须是public static void,这么多
  •  先说下为什么要删除main方法,由于部分同事在本地写了main方法测试代码,提交代码时候忘记把main方法删除,导致代码不规范,所以需要有一个方法能删除java文件中的main方法。  首先,常用的main方法写法有2种,...
  • 前言 我们都知道ActivityThread这个类是app程序的入口,本文为了证明这一点,因...本文的目的只分析到main方法的调用处,而main方法中式如何进行初始化的将另开一篇,另外,有错误请直接指出。 参考:Launcher启动...
  • 内部类的方法() )。如下所示: public class OuterClass { public static class InnerClass{ InnerClass(){ System.out.println("============= 我是一个内部类'InnerClass' ============...
  • 在类中,用static声明的成员变量为静态成员变量,也称为类变量。 类变量的生命周期和类相同,在整个应用程序执行期间都有效。...类属性/方法”来调用。(也可以通过对象引用或类名(不需要实例化)访问静态...
  • 经典的 Java main方法面试题

    千次阅读 2015-08-24 22:54:15
    1.不用main方法如何定义一个类?  不行,没有main方法我们不能运行Java类。  在Java 7之前,你可以通过使用静态初始化运行Java类。但是,从Java 7开始就行不通了。 2.main()方法需要的参数不是字符串...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 194,170
精华内容 77,668
关键字:

去掉main方法的static