java开发之内部类的用法
程序员文章站
2023-12-15 19:47:58
在java的开发中,java开发人员建议,尽量少用内部类,要把内部类提出他所处的那个类,单独生成一个类。直接来代码:复制代码 代码如下:package com.b510;&...
在java的开发中,java开发人员建议,尽量少用内部类,要把内部类提出他所处的那个类,单独生成一个类。
直接来代码:
package com.b510;
/**
* 内部类之间的调用
*
* @author hongten
*
* @time 2012-3-19 2012
*/
public class innerclasstest {
public static void main(string[] args) {
// 这是innerclasstest的一个实例
innerclasstest innerclasstest = new innerclasstest();
innerclasstest.sayhelloworld();
// 这是类a的一个实例
innerclasstest.a ia = innerclasstest.new a();
ia.asayhello();
// 这是innerclassb的一个实例
innerclasstest.a.innerclassb iab = ia.new innerclassb();
iab.bsayhello();
// 这是innerclassc的一个实例
innerclasstest.a.innerclassb.innerclassc iabc = iab.new innerclassc();
iabc.csayhello();
// 这是innerclassd的一个实例
innerclasstest.a.innerclassd iad = ia.new innerclassd();
iad.dsayhello();
// 这是innerclasse的一个实例
innerclasstest.a.innerclassb.innerclassc.innerclasse iabce = iabc.new innerclasse();
iabce.esayhello();
// 当然在我们调用innerclasse的时候,还可以写成这样
innerclasstest.a.innerclassb.innerclassc.innerclasse e = new innerclasstest().new a().new innerclassb().new innerclassc().new innerclasse();
system.out.println("======================分隔符====");
e.esayhello();
}
// 类innerclasstest中的方法
public void sayhelloworld() {
system.out.println("i am test,helloworld!");
}
/**
* 定义a类,他是innerclasstest类的内部类
*/
class a {
// 类a中的方法
public void asayhello() {
system.out.println("i am a,helloworld!");
}
/**
* 定义innerclassb类,他继承类a
*/
class innerclassb extends a {
// 类innerclassb中的方法
public void bsayhello() {
system.out.println("i am b,helloworld");
}
/**
* 定义innerclassc类,他是innerclassb的内部类
*/
class innerclassc {
// 类innerclassc中的方法
public void csayhello() {
system.out.println("i am c,helloworld!");
}
/**
* 定义innerclasse类,他是innerclassc的内部类
*/
class innerclasse {
// 类innerclasse中的方法
public void esayhello() {
system.out.println("i am e,helloworld!");
}
}
}
}
/**
* 定义innerclassd类,他是a的内部类
*/
class innerclassd {
// 类innerclassd中的方法
public void dsayhello() {
system.out.println("i am d,helloworld!");
}
}
}
}
运行效果:
i am test,helloworld!
i am a,helloworld!
i am b,helloworld
i am c,helloworld!
i am d,helloworld!
i am e,helloworld!
======================分隔符====
i am e,helloworld!
直接来代码:
复制代码 代码如下:
package com.b510;
/**
* 内部类之间的调用
*
* @author hongten
*
* @time 2012-3-19 2012
*/
public class innerclasstest {
public static void main(string[] args) {
// 这是innerclasstest的一个实例
innerclasstest innerclasstest = new innerclasstest();
innerclasstest.sayhelloworld();
// 这是类a的一个实例
innerclasstest.a ia = innerclasstest.new a();
ia.asayhello();
// 这是innerclassb的一个实例
innerclasstest.a.innerclassb iab = ia.new innerclassb();
iab.bsayhello();
// 这是innerclassc的一个实例
innerclasstest.a.innerclassb.innerclassc iabc = iab.new innerclassc();
iabc.csayhello();
// 这是innerclassd的一个实例
innerclasstest.a.innerclassd iad = ia.new innerclassd();
iad.dsayhello();
// 这是innerclasse的一个实例
innerclasstest.a.innerclassb.innerclassc.innerclasse iabce = iabc.new innerclasse();
iabce.esayhello();
// 当然在我们调用innerclasse的时候,还可以写成这样
innerclasstest.a.innerclassb.innerclassc.innerclasse e = new innerclasstest().new a().new innerclassb().new innerclassc().new innerclasse();
system.out.println("======================分隔符====");
e.esayhello();
}
// 类innerclasstest中的方法
public void sayhelloworld() {
system.out.println("i am test,helloworld!");
}
/**
* 定义a类,他是innerclasstest类的内部类
*/
class a {
// 类a中的方法
public void asayhello() {
system.out.println("i am a,helloworld!");
}
/**
* 定义innerclassb类,他继承类a
*/
class innerclassb extends a {
// 类innerclassb中的方法
public void bsayhello() {
system.out.println("i am b,helloworld");
}
/**
* 定义innerclassc类,他是innerclassb的内部类
*/
class innerclassc {
// 类innerclassc中的方法
public void csayhello() {
system.out.println("i am c,helloworld!");
}
/**
* 定义innerclasse类,他是innerclassc的内部类
*/
class innerclasse {
// 类innerclasse中的方法
public void esayhello() {
system.out.println("i am e,helloworld!");
}
}
}
}
/**
* 定义innerclassd类,他是a的内部类
*/
class innerclassd {
// 类innerclassd中的方法
public void dsayhello() {
system.out.println("i am d,helloworld!");
}
}
}
}
运行效果:
复制代码 代码如下:
i am test,helloworld!
i am a,helloworld!
i am b,helloworld
i am c,helloworld!
i am d,helloworld!
i am e,helloworld!
======================分隔符====
i am e,helloworld!