java中static的用法
来源:互联网 发布:windows pe 启动盘 编辑:程序博客网 时间:2024/05/29 14:31
在java中,static的用法以我现有的了解有以下3中:
1、修饰成员变量:如果一个成员被声明为static,它就能在类的任何对象创建之前被访问,而不必引用任何对象。声明为static的变量实质上就是全局变量,当声明一个对象时,并不产生static变量的拷贝,而是所有该类的实例变量共用同一个static变量;
2、修饰成员方法:如果一个成员被声明为static,它就能在类的任何对象创建之前被访问,而不必引用任何对象。声明为static的方法有以下几条限制:
它们仅能调用其他的static方法;
它们只能访问static数据;
它们不能以任何方式引用this或者super。
3、修饰一个内部类(是否能修饰普通类有待考证):
静态内部类和非静态内部类的区别:
在非静态内部类中不可以声明静态成员,也就是说只有静态内部类才能定义静态的成员变量和成员方法;
非静态内部类可以随意访问外部类中的成员变量和方法,即使这些成员被修饰为private。但不能从静态内部类的对象中访问外部类的非静态成员变量和方法;
非静态内部类的实例一定要绑定在外部类的实例中,即在创建非静态内部类之前要先在外部类中要利用new关键字来创建这个内部类的对象,非静态内部类的对象是依附在外部类对象之中的;但在定义静态内部类的时候,是不需要定义绑定在外部类的实例上的,即要在一个外部类中定义一个静态的内部类,不需要利用关键字new来创建内部类的实例。例如:
静态内部类:
- package
innerClass; - public
class OutClass1 { -
int oid; -
String oname; -
static class InnerStaticClass1{ -
int iid; -
String iname; -
} - }
- package
innerClass; - import
innerClass.OutClass1.InnerStaticClass1; - public
class Test1 { -
static void main(String[] args) { -
OutClass1 oc= OutClass1(); -
InnerStaticClass1 ic= InnerStaticClass1(); //不依赖与外部类的实例 -
} - }
非静态内部类:
- package
innerClass; - public
class OutClass2 { -
int oid; -
String oname; -
class InnerClass2 -
{ -
int iid; -
String iname; -
} - }
- package
innerClass; - public
class Test2 { -
static void main(String[] args) { -
OutClass2 oc= OutClass2(); -
OutClass2.InnerClass2 ic=oc. InnerClass2(); //依赖与外部类的实例 -
} - }
- JAVA中static的用法
- Java 中 Static的用法
- java中static的用法
- java中static的用法
- java中static的用法
- Java中 static的用法
- Java中static的用法
- java中static的用法
- java中static的用法
- Java中static用法
- Java中static用法
- java中 Static 用法
- Java中static成员的用法
- Java类中static的用法
- java中static的特殊用法
- Java类中static的用法
- Java类中static的用法
- Java C 中static 的用法区别
- Lucene2.9.1使用小结(同样适用于Lucene 3.0 )
- 博客迁移,此博客不再更新!
- CTS 兼容性测试
- [汇总]Flex面试题及答案
- Linux下的signal信号机制
- java中static的用法
- Android编译Libwebcore出错解决方法
- Alpha-Blending 技术简介
- android2.2模拟器安装google market
- 单用户模式 及 多用户模式转换
- Local System/ Local service /network service 权限解析
- Facade , Adapter, Mediator, Gateway
- C++分号的使用
- 用Javascript评估用户输入密码的强度