区别如下:
static 表示静态的,从始至终只获得一块内存空间。而且这块空间的资源还具有“全局性”,就是说所有的成员都可以无条件引用,另外,static修饰的不用程序调用,只要该类被执行,static修饰的也被执行。
如最常见的,Public static void main(){};又如 static int a那么所有的成员都可以引用a.
final 表示最终的,它修饰的类不能有子类。它修饰的变量是不可变的常数,所以final的变量要立刻赋值。如:class final A {}类A就不能被别的类继承;final String a=“abc”那么a永远只能是abc.
fianl static String a=“abc”,那么a不但是一个常数,还是一个全局常数。
java作用:
网络应用程序开发,例如:网上银行(中国银行,建设银行,工商银行的网上银行都是用J2EE开发出来的,你看看他网银的网页的后缀名JSP就知道),网页游戏等。
企业管理软件,现在很流行的B/S(浏览器/服务器)架构管理程序很多就是用J2EE开发的。
手机游戏,你看到那些手机游戏安装文件的后缀名.jar了吗?就是这JAVA开发出来的标志。开发这些东西一般用JAVA ME(J2ME)
嵌入式开发,例如给电视机顶盒,小型家电写程序。
package demo//使用反射
//Class.forName(className)).newInstance()
class Reflect {
static {
System.out.println("动态创建Reflect类,这是静态代码块")
}
public void speak() {
System.out.println("动态创建Reflect类")
}
}
public class ReflectDemo {
public static void main(String[] args) throws Exception {
Class<?> Demo = Class.forName("demo.Reflect")
Reflect test = (Reflect) Demo.newInstance()
test.speak()
}
}
测试结果:
动态创建Reflect类,这是静态代码块
动态创建Reflect类
简单啊,建立一个包。cn.temp.object存放临时类。
使用File类来写文件,保存为 [ 类.java ]
再动态编译。
OK