java自学笔记————内部类几种类型;
来源:互联网 发布:知轩藏书盗墓笔记 编辑:程序博客网 时间:2024/06/15 12:30
将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类)。
当描述事物时,事物的内部还有事物,该事物用内部类来描述。因为内部事物在使用外部事物的内容。如定义一个描述人的类,而手、心脏等都属于人,然它们又有自己的功能描述,这时可以在人这个描述类中,定义一个描述心脏的类,也就是内部类。
编译时,如果代码中有内部类,生成的class文件中会含有这样的文件:Test$1.class。编译器将会把内部类翻译成用$(美元符号)分隔外部类名和内部类名的常规类文件。这是内部类的一种编译现象。
<pre class="java" name="code">public class Blog4 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub//获取内部类对象Outer.inner oi =new Outer().new inner();//调用内部类的方法 oi.methodInner(); //获取静态内部类 Outer.staticInner os = new Outer.staticInner(); //静态方法 os.staticMethodInner(); }}class Outer{private String str = "Outer";//私有静态变量private static String staticString = "staticouterstring";//内部类public class inner{ void methodInner(){System.out.println(str+"----");}}//静态内部类public static class staticInner{void staticMethodInner(){System.out.println(staticString+"------");}}//成员方法public void methodOuter(){new inner().methodInner();}}
内部类的种类:(成员、局部、静态、匿名)
1.成员内部类
2.局部内部类
3.匿名内部类
1.成员内部类
//1.成员内部类public class Blog41{class student{void getSome(){System.out.println("我是内部类!");}}}
2.局部内部类
public class Blog42 {/** * @param args *///局部内部类class LocalInner { public void doSomething(int b) { final int a = 3;// 只能访问final的变量 class Inner3 { public void test(int b) { System.out.println(b); System.out.println(a); } } new Inner3().test(b); }}}
3:匿名内部类
import java.io.File;import java.io.FilenameFilter;public class Blog43 {/** * @param args */// 3:匿名内部类public static void main(String[] args) {// TODO Auto-generated method stubFile file = new File("D:\\interview");File[] filelist = file.listFiles(new FilenameFilter() {public boolean accept(File dir, String name) {return name.endsWith(".java");}});for (File files : filelist) {System.out.println(files.getName());}}}/* * 内部类:一个内部类的定义是定义在另一个内部的类。 原因是: * 1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据。 * 2.对于同一个包中的其他类来说,内部类能够隐藏起来。 * 3.匿名内部类可以很方便的定义回调。 * 4.使用内部类可以非常方便的编写事件驱动程序 */
0 0
- java自学笔记————内部类几种类型;
- Java笔记——静态内部类/内部类
- 【Java】学习笔记——内部类
- Java学习笔记——内部类
- Java笔记——内部类
- java学习笔记——内部类
- 学习笔记——JAVA 内部类
- java—内部类
- Java—内部类
- java内部类种类
- JAVA——内部类
- java——内部类
- java——内部类
- Java——内部类
- Java——内部类
- JAVA——内部类
- JAVA——内部类
- java——内部类
- 电信141p51第16题
- 对象序列化和反序列化
- C# 进制转换
- 中断和中断程序(续!)
- POJ 1279 Art Gallery 半平面交+求多边形核的面积
- java自学笔记————内部类几种类型;
- 欢迎使用CSDN-markdown编辑器
- 新闻客户端代码解析
- eCognition 8 简介
- 递归使字符串逆序
- 数据存储之SQLite 数据库存储——第一行代码Android学习笔记
- eRevit Stairs Builder简介
- 关于C++中获取指定文件夹下的所有文件
- 4.9学习内容view保存状态,ios屏幕亮度调整