刚学到静态, 想问一下
因为主函数所在类是静态的,并且没有且不可能为主函数所在类创建一个对象。所以如果需要在类中,主函数外定义其他函数,是不是必须用static来修饰?
因为如果不是static,那必须创建该类的对象后,其它函数才会在堆中加载。而方法区是不会加载该函数的。所以也无法被主函数调用。
而public则不是必须,因为反正在主函数内调用,private在主函数所在的类中也可以随意调用。
不知道有没有理解错。多谢!
请问JAVA的main函数前加的static和public是什么意思?代表了什么?不加呢...
static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了。如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有...
JAVA 应用程序主类 必须用 public修饰吗?
因为main()方法是由Java虚拟机调用的,所以必须是public,虚拟机调用的main()方法的时候,不需要产生任何对象,所以main()方法声明为static,且不需要返回值,所以必须声明为void!类可以用public,abstract,final来定义,分别是:公共的,抽象的,最终的.public:类只能被同一个源程序文件或同一个包中的其...
java中什么时候该用static修饰方法?有什么好处或者坏处?
用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用 比如 person这个类里面有一个方法public static add(){} 那么可以直接用person类调用 person.add();当然也可以用下面的方法先出一个对象在调用也是可以 如果这个方法前面没有static 比如 public add(){} 那么先要pe...
JAVA 类定义 class 前为什么必须要有public ?
public是一个修饰符,类似的还有default(就是前面什么也没有)、protected、private。。这些东西,是确定了方法的作用域。例如,用public声明的类以及方法,则可以被任意的包中使用,其集成的子类也可以使用,而private则不是,private声明的方法,只有在该类中才能够调用,否则会出错。这四个修饰符的作用于...
java里为什么主函数前面要加static修饰
默认情况下,参数列表中都会有一个this指针,例如fun(自定义参数),实际上编译后就变成这样类型:fun(自定义参数,某个类 this)。这样编译就会出错,多了一个参数,所以这个函数就不能作为线程函数了。加上static修饰之后,类的成员函数就不会加上默认this了,所以符合调用规定。
java菜鸟的一个疑问 关于public static void main(String args...
public class Demo3{} \/\/定义一个内部类 } class Demo1{} \/\/定义一个类 class Demo2{} \/\/再定义一个类 然后在主类只可以有一个主方法,也就是main方法,就是你上面的那句public static void mian(Stirng []args),但是在主类中可以有多个方法,就像你上面定义的许多方法,都不是主...
java中被static修饰后是必须的用public吗还是也可以用别的修饰(比如pr...
static的意思是静态,static是可以用其他词修饰的,就看你设置什么样的权限,public(公共的)都可见 privatede(私有的)同一个class可见 protected(保护的)同一个package可见 defaul(默认的)同一个package可见 以上是编程时设置的权限
为什么Java中的main方法必须是public static void的?
也就是说Java的main函数不是通过exit code来判断程序是否正常执行。所以,main方法的返回值就被设定为void。面试官:再问一下,为什么 main 方法的入参是字符串数组(String[])?大彬:Java应用程序是可以通过命令行接受参数传入的,从命令行传递的参数可以在java程序中接收,并且可以用作输入。因为命令...
在java语言中,有时候变量常量声明时要加一个“static”,有的时候不加...
ClassA.ex1; \/\/这里通过类名访问成员函数ex1 } } 通过以上两种比较,就可以知道static用来修饰类成员的主要作用了,在java类库当中有很多类成员都声明为static,可以让用户不需要实例化对象就可以引用成员,最基本的有Integer.parseInt(),Float.parseFloat()等等用来把对象转换为所需要的基本数据类型。这样...
public static void main(String[] args){ ... } 在每个JAVA里面为什么...
其中public是权限修饰符,表明任何类或对象都可以访问这个方法,static表明是静态方法,及方法中的代码是存储在静态存储区的,只要类被加载后,就可以使用该方法,不需要通过实例化来访问。可直接通过类名.main()直接访问,jvm在启动时就是按照上诉方法的签名(必须有public和static修饰,返回值为void,且...