写在前面
本文仅仅作为个人的学习笔记,有不对的地方还请多多指点
自学java的第 … 天,加油突破自己
常常是最后一把钥匙打开了神殿门,不要失去信心,只要坚持不懈,就终会有结果的
内部类
如果定义类在局部位置(方法中/代码块) :(1) 局部内部类 (2) 匿名内部类
定义在成员位置 (1) 成员内部类 (2)) 静态内部类
内部类基本介绍
一个类的内部又完整的嵌套了另一个类结构,被嵌套的类为内部类(inner class),嵌套其他类的类为外部类(outer class),是类的五大成员 [属性、方法、构造器、接代码块、内部类] ,内部类最大的特点是可以直接访问私有属性,并且可以体现类与类之间的包含关系。
基本语法
class Outer {
// 外部类
class {
// 内部类
}
}
class Oute {
// 外部其他类
}
内部类的分类
定义在外部类局部外置(方法)
局部内部类:有类名
匿名内部类:没有类名
定义在外部类成员位置上
成员内部类:没 static
静态内部类:有 static
局部内部类的使用
1.局部内部类是定义在外部类的局部位置,如方法中,并且有类名
class Animal {
// 外部类
public void f1() {
// 方法
class C1 {
// 内部类
}
}
}
2.可以访问外部类的所有成员(private)
class Animal {
// 外部类
private String name = "Bob";
private void f2() {
System.out.println("外部类的 f2() 方法...");
}
public void f1() {
// 方法
class C1 {
// 内部类
public void f3() {
// 内部类访问外部类
System.out.println("name= " + name);
f2();
}
}
}
}
3.不能添加修饰符,但是可以使用 final
class Animal {
// 外部类
private String name = "Bob";
private void f2() {
System.out.println("外部类的 f2() 方法...");
}
public void f1() {
// 方法
final class C1 {
// 内部类
}
}
}
4.外部类访问局部内部类的成员
创建对象,在访问(必须在作用域内)
class Animal {
// 外部类
public void f1() {
// 方法
class C1 {
// 内部类
private void f2() {
System.out.println("内部类的 f2() 方法...");
}
}
C1 c1 = new