Java 内部类种类及使用解析
2013-02-08 16:12
363 查看
Java 内部类种类及使用解析
内部类Inner Class
将相关的类组织在一起,从而降低了命名空间的混乱。一个内部类可以定义在另一个类里,可以定义在函数里,甚至可以作为一个表达式的一部分。
Java中的内部类共分为四种:
静态内部类static inner class (also called nested class)
成员内部类member inner class
局部内部类local inner class
匿名内部类anonymous inner class
静态内部类Static Inner Class
最简单的内部类形式。类定义时加上static关键字。
不能和外部类有相同的名字。
被编译成一个完全独立的.class文件,名称为OuterClass$InnerClass.class的形式。
只可以访问外部类的静态成员和静态方法,包括了私有的静态成员和方法。
生成静态内部类对象的方式为:
OuterClass.InnerClass inner = new OuterClass.InnerClass();
静态内部类使用代码:
Swing中使用匿名内部类
package com.learnjava.innerclass; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JFrame; public class SwingTest { public static void main(String[] args) { JFrame frame = new JFrame("JFrame"); JButton button = new JButton("JButton"); button.addActionListener(new ActionListener() { // new出来一个实现了ActionListener接口的类的实例 @Override public void actionPerformed(ActionEvent arg0) { System.out.println("Hello World"); } }); //加入按钮 frame.getContentPane().add(button); //设置关闭行为 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(200, 200); frame.addWindowListener(new WindowAdapter() { //也可以使用继承了适配器类的匿名内部类 @Override public void windowClosing(WindowEvent e) { System.out.println("Closing"); System.exit(0); } }); frame.setVisible(true); } }
参考资料
张龙老师Java SE系列视频教程。博客早期一篇内部类文章:
/article/4672759.html
相关文章推荐
- Java 内部类种类及使用解析
- Java 内部类种类及使用解析
- Java 内部类种类及使用解析
- Java 内部类的种类及使用解析
- Java 内部类种类及使用解析
- Java 内部类种类及使用解析
- Java 内部类种类及使用解析
- Java 内部类种类及使用解析
- Java 内部类种类及使用解析【转】
- Java 内部类种类及使用解析
- Java 内部类种类及使用解析
- Java 内部类种类及使用解析
- Java 内部类种类及使用解析
- java中内部类种类及使用解析
- Java 内部类种类及使用解析
- Java 内部类种类及使用解析
- Java 内部类种类及使用解析
- Java 内部类种类及使用解析
- Java 内部类种类及使用解析
- Java 内部类种类及使用解析