易截截图软件、单文件、免安装、纯绿色、仅160KB

Java内部类访问外部对象的方法

  Java编程时,为类DialogTry2添加关闭窗口事件,我在构造方法中采用事件适配器来实现:
    this.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e){
            this.dispose();
        }
    });
  本意是为当前窗口(实际上为一个对话框)添加关闭窗口事件。但编译器报错说,new WindowAdapter()不存在dispose()方法。我明白过来,this.dispose()中的this不是窗口对象,而是适配器对象。那么怎样调用外部对象即窗口对象呢?既不能用super也没有outer。上网查一下,找到一个方法:在这个复合语句外面加一句:
    final DialogTry2 outer = this;
  然后把this.dispose();改为:
    outer.dispose();
  这样就好了。也看明白了怎么回事。原来this作为当前的对象可以这样调用啊,长见识了。
  改好的程序如下:
    final DialogTry2 outer = this;
    this.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e){
            outer.dispose();
        }
    });
  不记得从哪个网页看到的了,那页很复杂,讲了许多问题,我只从其中摘出这一条来。感谢那位网友。


相关文档:

java中的反射机制

1)概念:
是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
2)功能:
     在运行时判断任意一个对象所属的类;
     在运行时 ......

java单例模式的两种形式


两种形式:
1, 饿汉式单例类
public class Singleton {
  private Singleton(){}
  //在自己内部定义自己一个实例,是不是很奇怪?
  //注意这是private 只供内部调用
  private static Singleton instance = new Singleton();
  //这里提供了一个供外部访问本class的静态方法,可以直接访问  
  p ......

常见的java排序

import java.util.Arrays;
public class Sort {
 
 //冒泡排序(从头到尾排)
 public static void bubbleSort(int[] arrays)
 {
  //第一次循环从第一个元素开始,到倒数第二个元素
  for(int i=0;i<arrays.length-1;i++)
  {
   for(int j=1 ......

为什么如此获取Java数组的长度

记得vamcily 曾问我:“为什么获取数组的长度用.length(成员变量的形式),而获取String的长度用.length()(成员方法的形式)?”
我当时一听,觉得问得很有道理。做同样一件事情,为什么采用两种风格迥异的风格呢?况且,Java中的数组其实是完备(full-fledged)的对象,直接暴露成员变量,可能不是一种很OO的风格。 ......

Java选择题

选择题
3阅读一下程序:
Boolean a=false;
Boolean b=true;
Boolean c=(a&b)&&(!b);
Int result=b==false?1:2;
这段程序执行完后,c与result的值是(D)。
A  c=false; result=1;  B. c=true;result=2;
C.c=true;result=1   D. c=false; result=2
 
6.下述声明中哪种可防 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号