内部类-Java编程中A类如何调用B类中M方法里的C类的实例?

问题描述

Java编程中A类如何调用B类中M方法里的C类的实例?

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

public class TestListener{

public static void main(String[] args){
Counter c1 = new Counter("Hello");
c1.CreatButton();
c1.add(c1.button);  ----------------------------(1)
c1.setLocation(100,100);
c1.setSize(100,100);
c1.setVisible(true);

}
}

class Counter extends Frame{

public int count = 0;
     **final Button button = new Button("0");--------(2)
    Counter(String label){
    super(label);
    }
void CreatButton(){
 **//final Button button = new Button("0");----------(3)
button.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent evt){
    count = Integer.parseInt(button.getLabel());
    button.setLabel(Integer.toString(++count));
    }
  });
  }
}

像上述程序,目前是可以编译通过并运行的,如果我把(2)处的屏蔽掉,(3)处的用起来,那在(1)处应该如何写?
也就是题目中提到的如何调用方法中局部内部类的实例?请教各位~

解决方案

不可以把,button不是局部变量嘛,怎么能够在外部调用呢

解决方案二:

button 放在方法里面,但是方法里面并没有返回值,如果一定要这样的话方法可以这样写
public Button createButton(){
...
return new Button("0");
}

解决方案三:

当然可以了
public Button createButton()

是return 一个指针( pointer ) 指着你的那个局部变量呢

1 处,c1.add(c1.createButton());

时间: 2024-12-31 02:52:13

内部类-Java编程中A类如何调用B类中M方法里的C类的实例?的相关文章

关于继承内部类——java编程思想示例程序分析

编程|程序|继承|示例 关于继承内部类--java编程思想示例程序分析:class Egg2 { protected class Yolk { public Yolk() { System.out.println("Egg2.Yolk()"); } public void f() { System.out.println("Egg2.Yolk.f()"); } } private Yolk y = new Yolk(); public Egg2() { System

postgresql java问题-Postgresql java编程用jdbc连接,怎么样执行postgresql中 d 的查询指令

问题描述 Postgresql java编程用jdbc连接,怎么样执行postgresql中 d 的查询指令 请各位大神帮忙解决一下这个问题:"Postgresql java编程用jdbc连接,怎么样执行postgresql中 d 的查询指令"谢谢. 情况是这样: 我要把所有表的constraints的column找出来,但是我只能通过pg_indexes找到constraints的名字,只有通过d constraints_name 才能找到column,所有请教各位大神有没有解决方法

Swift中利用AppDelegate实现调用指定ViewController中的函数

接着上一篇的Blog讲,在我们自定义了TableViewCell之后,我们可能需要点击cell里面的button等操作,比如点击了以后跳转到别的页面,这个时候,因为跳转动作是在tableview所在的viewcontroller(假设为A类)实现的,所以,我们需要在tablewViewCell类里面调用A类的一个实例,这个实例一般是通过AppDelegate类实现的. 具体来看一下实现过程. 我们先来看一下整体的需求: 在"基站列表"这个ViewController里面,我们的Tabl

Zend studio for eclipse中使php可以调用mysql相关函数的设置方法_php技巧

如果直接调用mysql_connect会出现:Fatal error: Call to undefined function mysql_connect() 的错误 解决办法, 找到zend studio php.ini所在的位置 我的zend studio安装在D:\Program Files\ 所以php.ini所在位置为:D:\Program Files\Zend\Zend Studio for Eclipse - 6.0.0\plugins\org.zend.php.debug.debu

[Spring]有一个人的类,他有使用武器的方法;有英雄类,继承人的类;武器有手枪和武士刀。

这道题是我自己出的给自己做的,练习spring,使用setter注入,面向接口编程,我的程序如下: 在com.zzk.app.service包下 package com.zzk.app.service; public interface Person { //定义一个使用武器的方法 public void useWeapon(); } package com.zzk.app.service; public interface Weapon { //Weapon接口里有一个攻击的方法 public

Java编程的动态性,第1部分: 类和类装入

本文是这个新系列文章的第一篇,该系列文章将讨论我称之为 Java 编程的动态性的一系 列主题.这些主题的范围从 Java 二进制类文件格式的基本结构,以及使用反射进行运行时 元数据访问,一直到在运行时修改和构造新类.贯穿整篇文章的公共线索是这样一种思想: 在 Java 平台上编程要比使用直接编译成本机代码的语言更具动态性.如果您理解了这些动 态方面,就可以使用 Java 编程完成那些在任何其它主流编程语言中不能完成的事情. 本文中,我将讨论一些基本概念,它们是这些 Java 平台动态特性的基础.

visual studio 2010-VS2010 MFC一个自定义类如何调用一个对话框类中的成员变量

问题描述 VS2010 MFC一个自定义类如何调用一个对话框类中的成员变量 我从一个对话框定义了几个CString类型的edit控件,我现在写一个类想调用该对话框中的创建的edit控件变量.怎么办啊 解决方案 字符串: getdlgitem(id)->getwindowtext() 数字 getdlgitemid(id) 解决方案二: 把那个对话框的CString变量变成public的,然后就可以直接用了,当然你需要先知道你那个对话框的指针. 解决方案三: 黑马程序员---定义一个包含私有成员变

《Java编程思想》(第二版)第6章:重复运用classes

编程|重复 Java有着众人赞叹的功能,程序代码的重复运用便是其中之一.但是,如果想获得革命性的改变,你得远远超越"复制程序代码,然后改变之"的旧式程序代码的复用途径:组合(Composition)和继承(Inheritance) toString():每个非基本类别的对象都具备toString(),当编译器希望的到一个String,而你手上却只有那些对象的情况下,这个函数便会被唤起. 测试tips:"为每个class提供main(),不管class是不是public&quo

在ASP.NET Web Application中通过SOAP协议调用Bing搜索服务

本文介绍了如何在ASP.NET Web Application中将Bing搜索作为Web Service来使用,并通过HTTP的SOAP协议在ASP.NET Web Application中调用Bing搜索功能.当然,我们也可以使用XML和JSON来调用Bing搜索服务,稍后会给出一些相关的例子. 本文中我将向大家演示下面这些内容: 创建一个Web Application与Bing搜索服务进行交互 添加Bing搜索服务的引用 使用Bing SourceTypes演示在线搜索功能 Bing搜索服务