三九宝宝网宝宝百科宝宝知识

java中内部类该何时用怎么用

02月27日 编辑 39baobao.com

[用java做了一个系统现在希望用一个按钮点击后生成excel报表把]strust2 实现的 jspfunction importExcel() { var isConfirm = confirm("您要导出Excel?"); if (isConfirm) { var url=encodeURI("printExcel.do"); self.location=url; } } java...+阅读

1.在一个类内部还存在另一个类,则后者为内部类;

2.内部类可声明成public或private,当内部类声明成public或private时,对其访问的限制与成员变量和成员方法完全相同;

3.定义格式:

标识符 class 外部类的名称{

//外部类的成员

标识符 class 内部类的名称{

//内部类的成员

}

}

示例:

class Outer{ // 定义外部类

private String info = "hello world" ; // 定义外部类的私有属性

class Inner{ // 定义内部类

public void print(){ // 定义内部类的方法

System.out.println(info) ; // 直接访问外部类的私有属性

}

};

public void fun(){ // 定义外部类的方法

new Inner().print() ; // 通过内部类的实例化对象调用方法

}

};

public class InnerClassDemo01{

public static void main(String args[]){

new Outer().fun() ; // 调用外部类的fun()方法

}

};

这位童鞋可以试着不用内部类写个程序完成以上功能,你会发现代码明显比之前的更加麻烦和复杂,所以内部类的唯一好处是方便的访问外部类中的私有属性,从而减少代码。

什么时候该使用内部类及使用内部类的好处

展开全部

加载内部类候才初始化

看懂代码于类加载基本没问题类加载程解释

public class Test6 {

public static void main(String[] args){

new B();

new A.C();

}

}

class A{

private P p1 = new P("A--p1");

static P p3 = new P("A--p3");

public A(){

System.out.println("A()");

}

private P p2 =new P("A--p2");

static{

new P("A--static");

}

{new P("A{...}");}

public static class C {

private P p1 = new P("C--p1");

static P p3 = new P("C--p3");

public C(){

System.out.println("C()");

}

private P p2 =new P("C--p2");

static{

new P("C--static");

}

{new P("C{...}");}

}

}

class B extends A {

private P p1 = new P("B --p1");

static P p3 = new P("B -- p3");

public B() {

System.out.println("B()");

}

public P p2 = new P("B -- p2");

static {

new P("B -- static");

}

{new P("B{...}");}

}

class P {

public P(String s) {

System.out.println(s);

}

}

/*

父类情况

1. 加载父类

1.1 静态属性配存储空间并赋初始值

1.2 执行静态初始化块静态初始化语句(至)

2. 加载类

2.1 静态属性配存储空间

2.2 执行静态初始化块静态初始化语句(至)

3. 加载父类构造器

3.1 实例属性配存数空间并赋初始值

3.2 执行实例初始化块实例初始化语句

3.3 执行构造器内容

4. 加载类构造器

4.1 实例属性配存数空间并赋初始值

4.2 执行实例初始化块实例初始化语句

4.3 执行构造器内容

5 main()

内部类加载程

java内部类怎么使用

1.内部类的方法可以访问它所在的外部类中的所有域,包括私有型别的; 2.对于同一个包中的其它类它是隐藏的; 3. 匿名的内部类可以让我们很方便的定义事件响应(call back),这在GUI编程中很常见 interface OutInterface{ //定义一个接口 public void f(); } public class InterfaceInner { //主类 public static void main(String args[]){ OuterClass2 out=new OuterClass2(); OutInterface outinter=out.doit(); outinter.f(); } } class OuterClass2{ //定义一个内部类,并且接口OutInterface private class InnerClass implements OutInterface{ InnerClass(String s){ System.out.println(s); } public void f(){ System.out.println("访问内部类中的f()方法"); } } public OutInterface doit(){ //方法返回接口 return new InnerClass("访问内部类构造方法"); } }

以下为关联文档:

怎么用java实现读取excel表格里的数据生成public class AnalyzeExcel { public static void main(String args[]) throws FileNotFoundException, IOException { XSSFWorkbook wb = new XSSFWorkbook("D:/TA/Weeky.xl...

java反汇编工具怎么用java class反编译工具JODE使用方式如下: 1.JODE是一个可运行的JAR文件,在windows环境下双击即可运行。 2.JODE不是通过常规的Open->File的方式来加载JAVA编译后的类文件(*.clas...

怎么用java导出word文档java导出word大致有6种解决方案: 1:Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台...

用java怎么解析Json数据import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import net.sf.ezmorph.bean.MorphDynaBean; import net.sf.j...

用java实现数据结构栈Java栈的实现 public class MyStack { //定义一个堆栈类 int[] array; //用int数组来保存数据,根据需要可以换类型 int s_size; //定义堆栈的宽度 public MyStack(int i){ //定...

怎样用Java运行64位程序Invalid maximum heap size: -Xmx6g The specified size exceeds the maximum representable size. Could not create the Java virtual machine. 所需内存超过4g,需开启64位...

java中嵌套循环才开始学这个怎么用嵌套啊public class Main { public Main() { int num = 1; //方案数量统计 for (int one = 0; one <= 100; one++) { //1分数量,最大100 for (int two = 0; two <= 50; two++) { //2...

java反射机制有什么用增加程序的灵活性。 如struts中。请求的派发控制。 当请求来到时。struts通过查询配置文件。找到该请求对应的action。已经方法。 然后通过反射实例化action。并调用响应met...

java中如果用程序实现是否继续nyjava中如果用程序实现是否继续ny,怎么用JAVA while循环确认是否继续和结束新生JAVA菜鸟求大神:import java.util.Scanner;public class InputData { public static void main(...

推荐阅读
图文推荐