内部类与外部类的区别

    定义在其他类中的类就是内部类,内部类的外面一层就是外部类。简单来说,内部类和调用这个类的方法处于同一个类中,外部类就是和调用这个类的方法不在同一个类中。



拿上一节关于事件监听的程序举例:

内部类:

class frame1 extends JFrame  {
 private JButton btdialog;
public frame1(){
setTitle("事件监听器");
setBounds(100,100,500,400);
 btdialog = new JButton("窗口");
//添加事件监听器对象  这里的DialogEventListener就是内部类
btdialog.addActionListener(new DialogEventListener());

//将按钮添加到JFrame中,此时是默认布局格式
add(btdialog);

//JFrame必备的两条语句,显示和自动退出
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}
//内部类 DialogEventListener,实现ActionListener接口,这里DialogEventListener没有出jframe1这个类的范围
class DialogEventListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e){
JDialog dialog = new JDialog();
dialog.setBounds(300,200,400,400);
dialog.setVisible(true);
}
}


外部类:

class frame1 extends JFrame  {
private JButton btdialog;
public frame1(){
setTitle("事件监听器");
setBounds(100,100,500,400);
btdialog = new JButton("窗口");
//添加事件监听器对象(面向对象思想),和内部类 类似,不过DialogEventListener在frame1的类声明范围外
btdialog.addActionListener(new DialogEventListener());

//将按钮添加到JFrame中,此时是默认布局格式
add(btdialog);

//JFrame必备的两条语句,显示和自动退出
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}


}
//外部类 DialogEventListener,已经出了jframe1的类声明范围,实现ActionListener接口
class DialogEventListener implements ActionListener

{
@Override
public void actionPerformed(ActionEvent e){
JDialog dialog = new JDialog();
dialog.setBounds(300,200,400,400);
dialog.setVisible(true);
}

}

以上


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值