当前位置:  技术问答>java相关

简单问题,请各位解答

    来源: 互联网  发布时间:2015-05-09

    本文导语:  import java.awt.*; import java.awt.event.*; public class myException extends Frame implements ActionListener,WindowListener {    private TextArea ta;     public static void main(String args[])   {     myException  test = new myException();     Bu...

import java.awt.*;
import java.awt.event.*;

public class myException extends Frame implements ActionListener,WindowListener


  private TextArea ta;  

  public static void main(String args[])
  {
    myException  test = new myException();
    Button       b1   = new Button("安全");
    Button       b2   = new Button("危险");   

    test.addWindowListener(test); **********
    b1.addActionListener(test);
    b2.addActionListener(test);
    
    test.setLayout(new GridLayout(3,1));
    test.add(b1);
    test.add(b2);
    test.ta = new TextArea(null,10,20,TextArea.SCROLLBARS_VERTICAL_ONLY);
    test.add(test.ta);           *******
    test.setSize(300,300);
    test.setVisible(true);
  }

  private void CheckButton(String label)  throws exaException
  {
    ta.append("safe");           *******
     ...
  }
  
  ... 

}

请问一下,两个问题:
1,test.addWindowListener(test); 换成 test.addWindowListener(this),
我认为this就是指向test的

2, test.add(test.ta);  为什么不能改为test.add(ta)而在下面就可以直接调用



|
根本原因是:
类和类的实例是两个的概念,所有对应某一个类的实例共同拥有一段成员函数代码,但各自拥有自己的成员变量,那么成员函数怎样知道要操作的是哪一个变量呢?是通过一个特殊的函数参数this,有了this成员函数就知道要操作那个(对象/实例的)成员变量。

以上没有讨论静态成员(变量/函数)的情况,所有的类的实例在运行时共同拥有一个静态的成员变量(所以静态成员可以认为是类的属性),静态函数同一般的成员变量不一样,因为函数参数中没有this这个参数,也就是在运行时用通常的函数调用方法他不知道自己在操作哪个对象。

所以main是静态的参数中没有this,所以在函数体中当然不能使用this。

而对于 private void CheckButton(String label)  函数实际可认为是:
private void CheckButton(this/类型是对应的类,String label)  
所以在这个函数体中你就可以使用这个参数(this)了。

|
两个问题一个答案:
main是static的,所以没有this.

    
 
 

您可能感兴趣的文章:

  • 关于安装REDHAT9的几个问题,谢谢解答
  • 求高手解答菜鸟问题!!
  • gcc-plugin.h的问题,求解答。。。
  • 统计进入论坛的人数问题一侧,与其他问题不同的。高手解答!
  • qianyuting(钱),关于Java的问题的解答,来领分,再次感谢!!!
  • raid1问题,望高手们解答
  • 一个相当实际的问题,希望来解答!
  • linux 几个问题 求解答
  • samba应用出现的问题!急求高手解答!谢谢!
  • 简单的问题,请高手解答
  • 关于vmware虚拟机的问题,请高手解答!
  • 一个很菜的问题,希望好心人解答!!
  • 系统出现问题,请高手解答
  • linux下的mib读取问题?大虾帮解答下
  • 几个linux问题,求高手解答
  • SSH 无法登陆LINUX,什么问题?帮忙解答下啊
  • 新手关于Jbuilder6.0编辑器的光标定位使用问题,望高手解答
  • 真诚希望高手给予解答,关于UNIX扩展缓存的问题(100分相送)
  • Redhat8.0中的乱码问题?(急需解答)
  • 很简单的问题!在线等待高手解答,马上给分!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • nginx Windows版相关问题及使用说明
  • 死锁的问题 多级锁定问题 循环锁定问题
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • [问题]双系统出现的问题!求问题的原因和解决办法!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 初学者问题。一个是编译hello world的问题,一个是配置ssh的问题
  • c/c++服务器程序内存泄露问题分析及解决
  • C程序问题:哪个高手帮我解释下下面的问题,主要是a[0]和&[0] 的区别 和编译器的问题??
  • ​部署 Docker 前必须问自己的四个问题
  • swing的问题还是jbuiler的问题??
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • 菜鸟第一次安装红帽子7.2的一箩筐问题。每个问题会开个帖子,各放100分!请有安装经验的老鸟们帮忙解决。第二个问题:什么是LILO?怎么样


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3