Java面向对象编程-第12章学习笔记
2016-01-18 11:21
591 查看
第12章 内部类
在一个类的内部定义的类称为内部类。1、内部类的基本语法
顶层类只能处于public和默认访问级别,而成员内部类可以处于四种访问级别。
示例1:
class Outer { public Outer(){ System.out.println("外部类Outer的实例对象创建了!"); } public class InnerTool{ //内部类 public InnerTool(){ System.out.println("内部类InnerTool的实例对象创建了!"); } public int add(int a,int b){ System.out.println("内部类Inner的add方法执行了,返回值为"+(a+b)); return a+b; } } private InnerTool tool=new InnerTool(); //创建一个内部类的实例对象tool public void add(int a,int b,int c){ System.out.println("外部类Outer的add方法执行了,结果为:"+tool.add(tool.add(a, b), c)); } } //测试类 public class Tester { public static void main(String[] args) { // TODO Auto-generated method stub Outer o=new Outer(); //创建一个Outer类实例对象 o.add(1, 2, 3); Outer.InnerTool tool=new Outer().new InnerTool(); } }
分析:
(1)Outer o=new Outer()执行时,先创建Outer类的成员,首先对应于:private InnerTool tool=new InnerTool();调用InnerTool的构造函数,输出“内部类InnerTool的实例对象创建了!”,然后输出Outer类构造方法中的输出语句“外部类Outer的实例对象创建了!”
(2)o.add(1, 2, 3)执行时,先执行tool.add(tool.add(a, b), c)中第二个内部类tool.add()方法,再执行第一个内部类tool.add()方法,最后再执行外部类add()方法。
(3)Outer.InnerTool tool=new Outer().new InnerTool();执行时,先创建Outer外部类的实例对象,过程同(1)步,再执行new InnerTool()。
输出如下:
内部类InnerTool的实例对象创建了! 外部类Outer的实例对象创建了! 内部类Inner的add方法执行了,返回值为3 内部类Inner的add方法执行了,返回值为6 外部类Outer的add方法执行了,结果为:6 内部类InnerTool的实例对象创建了! 外部类Outer的实例对象创建了! 内部类InnerTool的实例对象创建了!
相关文章推荐
- 关于Myeclipse出现 java文件中文乱码问题的解决方案.
- 透析Java本质-谁创建了对象,this是什么
- Java进阶之野路子
- Java学习笔记(71)----------volatile
- Java SE 第二十一讲----抽象类
- Java学习笔记(70)-----------挚爱Java
- Java中注解详解
- Java SE 第二十二讲----接口interface
- 【第十二章】零配置 之 12.1 概述 ——跟我学spring3
- Java学习笔记(69)---------Lock
- Java反射机制实践
- JAVA对象持久化
- eclipse的快捷键ctrl+alt+down冲突,禁用了显卡快捷键还是不行的解决方法!
- java基础总体框架
- Java学习笔记(68)-----------synchronized
- java 字符串 asc 加密解密
- 谈谈对Spring IOC的理解【转】
- Java学习笔记(67)-----------Timer和TimerTask
- java was started but returned exit code=13的解决方法
- Java学习笔记(65)---------线程协作