java

位置:IT落伍者 >> java >> 浏览文章

java封闭之内部类


发布日期:2023年08月31日
 
java封闭之内部类

java重要的三大特性之封装到今天已经总结完了当然还有一些比较重要的概念没有总结比如staticfinally关键字this关键字构造函数的特性因为考虑到这些概念在继承多态中还会有体现所以等到另外两大特性讲完之后在统一总结

这里还有一个不常用的概念就是内部类

基本概念:

就是在一个类的内部在定义一个类

存在即是合理的内部类在JDK之后便开始存在了存在的原因是因为:

可以让程序设计中逻辑上相关的类结合在一起

内部类可以直接访问外部类的成员

那么先看看它的优点和好处:

内部类的对象能够访问创建它的对象的所有的方法和属性包括私有数据

对于同一个包中的其它类来说内部类是隐形的

匿名内部类可以很方便地定义回调

使用内部类可以很方便地编写事件驱动的程序

结构特点:

classouterClass{

//outerClass的成员变量

classinnerClass{

}

}

内部类同样可以拥有public private protected等权限符修饰因为它仅仅是外部类的一个成员变量

实例化:

outerClassoc=newouterClass();

outerClassinnerClassic=ocnewinnerClass();

so prefect!

内部类对与初学者很少使用了解它的存在即可分类: 根据内部类的存在方式还可以细分为以下几种

局部内部类将类直接定义到外部类的方法体之中与局部变量有着相同的作用域

静态内部类

若该内部类不想访问创建其外部类的属性和方法的时候可以将其设置位静态类这就是静态内部类

外部类要引用他时就可一不必创建对象直接引用在静态内部类中只能访问外部类的静态成员

构造静态内部类对象不再构造外部类对象

匿名内部类(这个用的多一些在SWT程序设计中事件监控器代码中比较常见)

在编写代码的时候不必要给内部类取一个名字可以直接以类的对象名来代替

在SWT编程的事件监控器代码中会大量使用匿名内部类这样会可以大大的简化代码的编写并增强了代码的可读性

如示例

Objecto=newObject(){

publicStringtoString(){

retrun这只是几行无聊的代码罢了!;

}

};

该示例定义了一个没有名称的类它继承了Object类并重新定义(Override) toString()new表示实例化了这个没有名称的类

<封装特性中需要注意的笔者认为的暂时就总结这么多>请高手更正!

上一篇:J2ME插值算法实现图片的放大缩小方法

下一篇:java编码理解