一个测试接口加载,类加载很好的例子
2006-03-17 11:36
453 查看
//---------------------------------------------------------------------------
//-------------------------------程序开始--------------------------------
//---------------------------------------------------------------------------
public class Test {
public static void main(String[] args) {
Subclass sb = new Subclass();
}
}
class Sssuper {
int i = -1; // for debug can delete
static {
System.out.println(1);
}
Sssuper(int i) {
System.out.println(i);
this.i = i; // for debug can delete
}
}
class Subclass extends Sssuper implements Interface {
static {
System.out.println(2);
}
Sssuper su = new Sssuper(4);
Subclass() {
super(3);
//System.out.println(su1.i+1); // for debug can delete
new Sssuper(5);
}
}
interface Interface {
static Sssuper su1 = new Sssuper(0);
}
//---------------------------------------------------------------------------
//-------------------------------程序结束--------------------------------
//---------------------------------------------------------------------------
运行结论:
根据测试结果,得知在接口Interface中的实例su1并不会在运行时加载,当把//System.out.println(su1.i+1);
// for debug can delete 放开后su1才开始加载.这个例子可以帮助我们很好地理解“接口、继承,静态块之间的运行关系”。
//-------------------------------程序开始--------------------------------
//---------------------------------------------------------------------------
public class Test {
public static void main(String[] args) {
Subclass sb = new Subclass();
}
}
class Sssuper {
int i = -1; // for debug can delete
static {
System.out.println(1);
}
Sssuper(int i) {
System.out.println(i);
this.i = i; // for debug can delete
}
}
class Subclass extends Sssuper implements Interface {
static {
System.out.println(2);
}
Sssuper su = new Sssuper(4);
Subclass() {
super(3);
//System.out.println(su1.i+1); // for debug can delete
new Sssuper(5);
}
}
interface Interface {
static Sssuper su1 = new Sssuper(0);
}
//---------------------------------------------------------------------------
//-------------------------------程序结束--------------------------------
//---------------------------------------------------------------------------
运行结论:
根据测试结果,得知在接口Interface中的实例su1并不会在运行时加载,当把//System.out.println(su1.i+1);
// for debug can delete 放开后su1才开始加载.这个例子可以帮助我们很好地理解“接口、继承,静态块之间的运行关系”。
相关文章推荐
- PHP面向对象之旅:一个接口实例,很好的例子
- PHP面向对象之旅:一个接口实例,很好的例子
- 使用jmeter进行接口压力测试的一个简单例子
- 【AS3】Flash读取XML内容的方法(附加载一个视频的例子)
- 贴 一个很好的心理周刊N多测试
- 分享手机兼容性测试一个很好的网站,腾讯优测
- C#面向对象的一个简单例子,继承、接口、重写都用上了,还用到了工厂模式
- android一个很好用的加载刷新框架
- 第二个例子展示了如何使用一个提供单接口的COM对象QueryInterface()函数
- [学习笔记]zTree是一个很好的js插件实现加载树形结构
- 一个API接口的例子,包括单元测试
- BP一个很好的简单例子
- 使用openssl中的EVP通用加密算法接口之--加密测试例子
- 使用openssl中的EVP通用加密算法接口的之--hash散列运算测试例子
- 最近看见了一个提供地图接口的很好的网站
- Google Earth & Asp.Net 一步一步从入门到精通(一)一个加载KML文档的例子
- 一个很好的Java多线程的例子
- soapUI快速入门(测试一个登录接口)
- GdiPlus[1]: 一个给 Delphi 提供的、新的 GDI+ 接口, 很好用!
- 这是一个测试的例子