1、变值权限修饰作用,在定义内部类的时候,可以在其前面加上一个权限修饰符static。此时这个内部类就变为了静态内部类。
2、在某些特殊的情况下,少了这个静态内部类还真是不行。如在进行代码程序测试的时候,如果在每一个Java源文件中都设置一个主方法(主方法是某个应用程序的入口,必须具有),那么会出现很多额外的代码。
3、最主要的时这段主程序的代码对于Java文件来说,只是一个形式,其本身并不需要这种主方法。但是少了这个主方法又是万万不行的。在这种情况下,就可以将主方法写入到静态内部类中,从而不用为每个Java源文件都设置一个类似的主方法。
这对于代码测试是非常有用的。在一些中大型的应用程序开发中,则是一个常用的技术手段。
扩展资料例如:
对于两个类,拥有相同的方法:
class People{
run()
}
interface Machine{
run()
}
此时有一个robot类:
class Robot extends People implement Machine.
此时run()不可直接实现。
interface Machine{
void run()
}
class Person{
void run(){
System.out.println("run")
}
}
class Robot extends Person{
private class MachineHeart implements Machine{
public void run(){
System.out.println("heart run")
}
}
public void run(){
System.out.println("Robot run")
}
Machine.getMachine(){returnnew MachineHeart()
}
class Test{
publicstaticvoid main(String[] args){
Robot robot=new Robot()
Machine m=robot.getMachine()
m.run()
robot.run()
}
}
参考资料来源:百度百科-静态内部类
区别如下:
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)
嵌入式开发,例如给电视机顶盒,小型家电写程序。
不可以声明类为静态类的。
解释:静态类是没有实际意义的,而且运行初始化还要占用大量内存,而且假如有静态类,不能被重写,不能被创建,没啥实际意义。
Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计用于开发Internet应用程序。
用Java实现的HotJava浏览器显示了Java的魅力:跨平台、动态Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。Java自面世后就非常流行,发展迅速,对C++语言形成有力冲击。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。