JAVA中关于静态(static)关键字的使用方法和内部类的调用
来源:互联网 发布:返利网平台源码开发 编辑:程序博客网 时间:2024/06/07 10:15
1.顶级类
1) 可以定义任何静态和非静态的成员;
2) 顶级类不能是静态(static)的,若要加上其它关键字只能是public,final,abstract
3) 抽象类(abstract)和接口(interface)不能是final的.
4) 顶级类的静态方法中:可以直接访问该类的静态成员;访问非静态成员通过“new 顶级类().成员“的方法访问。访问静态内部类的成员通过“new 静态内部类().成员”的方法访问; 访问非静态内部类的成员通过“new 顶级类().new 非静态内部类().成员”方法访问.
5) 顶级类的非静态方法中:可以直接访问顶级类中的所有静态和非静态成员;访问静态内部类的成员和非静态内部类的成员方法一样,通过“new 静态内部类().成员”、“new 非静态内部类().成员”访问
2.非静态内部类
1) 非静态内部类中不允许定义静态的成员;
2) 非静态内部类非静态方法,访问静态内部类成员的方法:
如下代码::
publicclass C1 {
class A {
publicvoid call() {
System.out.println(B.i); // 访问静态B类中的静态成员变量i
// new B()可以访问静态类中的所有静态和非静态成员
System.out.println(new B().k); // 访问静态B类中非静态成员变量k
System.out.println(new B().i); // 访问静态B类中的静态成员变量i
}
}
staticclass B {
staticinti, j;
intk;
}
}
3) 非静态内部类非静态方法中:可以直接访问该类的非静态成员、外部类内中的静态和非静态的成员;访问静态内部类和非静态内部类的成员的方法一样。
>访问静态内部类 new 静态内部类().成员
>访问非静态内部类 new 非静态内部类().成员
3.静态类内部类
1) 静态内部类中可以定义任何静态和非静态的成员;
2) 静态内部类里的静态方法中:可以直接访问该类和外部类中的静态成员,访问该类和外部类中成员通过创建对象访问,访问方法有:
>访问外部类的成员方法 new 外部类.成员;
>访问外部类的非静态内部类成员的方法 new 外部类().new 非静态内部类().成员;
>访问外部类的静态内部类成员的方法 new 静态内部类().成员;
3) 静态内部类里的非静态方法中:可以直接访问该类中的所有的非静态、静态成员和直接访问外部类中的静态成员;访问外部类中成员通过创建类对象访问,访问方法有:
>访问外部类的成员方法 new 外部类.成员;
>访问外部类的非静态内部类成员的方法 new 外部类().new 非静态内部类().成员;
>访问外部类的静态内部类成员的方法 new 静态内部类().成员;
注:以上所说的“成员”包括“成员方法”“成员变量”“成员对象”,所说的“成员”可能是静态或是非静态的,如果这个类里的成员是静态的可以直接用“静态类.静态成员“,“非静态类.静态成员“方法引用。
- JAVA中关于静态(static)关键字的使用方法和内部类的调用
- Java中静态关键字的使用和内部类的调用
- Java中静态关键字的使用和内部类的调用
- Java中Static Class及静态内部类和非静态内部类的不同
- 深入浅析Java中Static Class及静态内部类和非静态内部类的不同
- 深入浅析Java中Static Class及静态内部类和非静态内部类的不同
- java中静态内部类和非静态内部类的使用
- java中静态内部类和非静态内部类的区别
- 关于Java的静态内部类
- Java中匿名内部类的使用方法
- Java静态内部类和非内部类的区别
- java静态内部类和匿名内部类的使用
- java 内部类和静态内部类的区别
- Static Class及静态内部类和非静态内部类的不同
- Java内部类(inner Class)和嵌套类(static inner Class)也就是静态内部类的区别
- Java中Static Class及静态内部类和非静态内部类与静态导包
- 关键字 static(非静态内部类&&静态内部类)
- java静态方法中调用内部类
- 小波变换
- 使用SWIG实现C/C++与其他语言间的互相调用
- C#程序代码:合并文件(处理中文)
- C#的接口问题
- Linux启动分析
- JAVA中关于静态(static)关键字的使用方法和内部类的调用
- Synaptic Package Manager问题解决[00原创]
- 一些Select检索高级用法(适用于SQL Server)
- 如何学好C++,用好类库很重要
- 搜索市场进入Google后时代:YANDEX,Quaero,Exalead,Dabble,CosmoTV,YOUTUBE(mop)
- vc++6.0中如何解决不能自动列出成员的问题
- 花了n个礼拜,解决了一个原本只需几秒钟的事(opengl)
- Crypto++库 在VS 2005中的使用——RSA加解密
- C#一个发牌机示例程序