Java-final和static怎么理解
final:
final比较关键的就是当它修饰变量时表示常量,即只能被赋值一次,并且赋值后不再改变
final
修饰符有多种作用:final
修饰的方法可以阻止被覆写;
final
修饰的class可以阻止被继承;
final
修饰的field必须在创建对象时初始化,随后不可修改。
static:
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块
static
修饰符:static
在类里面;
static
不可以修饰局部变量;
static
修饰的属性强调它们只有一个。
下面例子中只知道唯一的ppp,但是不知道aaa,所以会报错
java中的main方法为什么必须写成static?
java的main方法是什么?
main是java应用的入口方法。
在《Java语言规范》中,对于Java虚拟机的启动给出了明确的定义:Java虚拟机是通过加载指定的类,然后调用该类中的main方法而启动的。
也就是说,通过调用某个指定类的main方法,传递给他单个的字符串数组参数,就可以启动Java虚拟机。
一个main方法想要被执行,需要经过几个步骤,首先对应的类需要被JVM加载,然后需要进行链接和初始化、之后才是调用main方法。
main必须是public,不然JVM就调不到了。
静态(static)的特点:
那就是静态方法独立于该类的任何对象,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们
比如我们例子中的ppp和aaa,没有实例化Women,但是main还是可以找到对应的ppp,因为ppp是static。
main方法为什么返回void?
在Java中,退出过程是由JVM进行控制的。
JVM是不会管main方法有没有执行完的,他都会终止所有行为并退出,这时候main方法的返回值是没有任何意义的
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!