您的位置:首页 > 编程语言 > Java开发

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的实例对象创建了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: