JAVA面向对象之内部类
来源:互联网 发布:王者荣耀qq数据转微信 编辑:程序博客网 时间:2024/06/11 13:17
内部类
在一个类的内部声明的类,称为内部类(也叫内嵌类)。内部类只能在包含它的类中使用,同时它可以看作是该包含类的一段特殊代码,可以直接使用该包含类的变量和方法。
内部类编译后也会形成一个单独的class,但它附属于其包含类。创建内部类的对象时会有一个对外部类对象的引用,所以一般只能在非静态方法里创建内部类对象。
创建一个外部类Outer,在其非静态方法中调用内部类。
public class Outer { int outer = 100; //在外部类的方法中创建内部类的对象,并调用其方法 void test() { Inner in = new Inner(); in.dispaly(); } //内部类 public class Inner { void dispaly() { System.out.println("dispaly:outer =" + outer); } }}
从上面代码中可以看出,可以把一个类定义在另一个类中,这就是内部类。一般来说使用内部类有如下两点考虑:
1. 内部类使得程序代码更为紧凑,程序更具模块化。
2. 由于内部类被看作类中一段特殊的代码,其可以直接调用类中的成员,因此在一些复杂的调用关系中,使用内部类可以使成员间调用更加方便。
内部匿名类
匿名类就是没有名字的类,是将类和类的方法定义在一个表达式范围里。在内部类仅需要使用一次的时候,可以对代码进行简化,比如在《JAVA面向对象之抽象类和接口》中,我们定义了一个GraphicsCard接口,并且定义了一个AMDGraphicsCard 实现了该接口,如果我们要完成AMDGraphicsCard类所完成的功能且只需要用一次,那么我们就可以使用内部匿名类。这里我们定义一个Computer类来演示内部匿名类的使用。
public class Computer { public void show(GraphicsCard card) { card.dispaly(); } public static void main(String[] args) { Computer computer = new Computer(); //使用内部匿名类 computer.show(new GraphicsCard() { public void dispaly() { System.out.println("AMD显卡"); } }); }}
以上就是内部匿名类的使用方式,在GUI编程中,我们会经常用到内部匿名类。
0 0
- JAVA-面向对象之内部类
- Java面向对象之内部类
- JAVA面向对象之内部类
- Java面向对象之内部类
- 面向对象之内部类
- java面向对象、构造方法 之内部类
- 12-11java面向对象之内部类操作
- JavaSE入门学习14:Java面向对象之内部类
- 面向对象(六)之内部类详解
- 黑马程序员—面向对象之内部类
- 面向对象之内部类访问规则
- 达内课程-面向对象之内部类
- Java学习系列(二十三)Java面向对象之内部类详解
- Java基础视频教程第09天_面向对象之内部类、异常1
- 黑马程序员——Java面向对象(三)之内部类、异常、包等
- Java基础之内部类对象的创建
- (5) 面向对象三之内部类、枚举类、
- 持有对象之内部类
- Objective-C_语言_内存管理2(代码)
- Windows 2003系统vps搭建vpn
- 通过Gearman实现MySQL到Redis的数据同步
- 项目提交遇到的问题
- 使用Python递归在根目录下面写入文件
- JAVA面向对象之内部类
- MySQL 向 Redis 高效迁移
- 无法链接glew的解决办法
- do...while(0)的妙用
- .Net WEB 程序员需要掌握的技能
- django处理流程分析
- weka支持的算法和weka简单的聚类例子
- 基于Gabor+PCA+SVM的性别识别
- PHP Ajax 跨域问题最佳解决方案