009--各种内部类和枚举类的使用+面试题

VIP免费
2024-12-11 5 0 127.14KB 12 页 5.9玖币
侵权投诉
各种内部类和枚举类的使用 + 面试题
内部类不仅经常出现在各种面试题中,还会在 Java 源码中频频出现,因此只有搞明白了
Java 内部类,才能搞定面试和看懂各种 Java 源码。
内部类
Java 内部类,分为以下四种:
成员内部类
静态成员内部类
局部内部类
匿名内部类
下面分别来看这些内部类的使用。
成员内部类
定义
在一个类中定义了另一个类,则将定义在类中的那个类称之为成员内部类。成员内部类也
是最普通的内部类。
使用
成员内部类的使用示例如下:
class Outer {
public Outer() {
System.out.println("Outer Class.");
}
class Inner {
public void sayHi() {
System.out.println("Hi, Inner.");
}
}
}
其中 Inner 类则为成员内部类。
而成员内部类的创建和使用,请参考以下完整的示例代码:
class InnerTest {
public static void main(String[] args) {
Outer out = new Outer();
// 创建成员内部类
Outer.Inner inner = out.new Inner();
inner.sayHi();
}
}
class Outer {
public Outer() {
System.out.println("Outer Class.");
}
class Inner {
public void sayHi() {
System.out.println("Hi, Inner.");
}
}
}
成员内部类的创建
语法:
Outer.Inner inner = new Outer().new Inner();
内部类访问外部类
语法:
Outer.this.xxx
代码示例:
class Outer {
private String name = "OuterClass";
public void sayHi() {
System.out.println("Hi, Outer.");
}
class Inner {
public void sayHi() {
// 内部类访问外部类
Outer.this.sayHi();
System.out.println(Outer.this.name);
System.out.println("Hi, Inner.");
}
}
}
class InnerTest {
public static void main(String[] args) {
Outer.Inner inner = new Outer().new Inner();
inner.sayHi();
}
}
外部类访问内部类
语法:
new Inner().xxx
代码示例:
class Outer {
public void sayHi() {
System.out.println(new Inner().name);
System.out.println("Hi, Outer.");
}
private class Inner {
String name = "InnerClass";
public void sayHi() {
System.out.println("Hi, Inner.");
}
}
}
class InnerTest {
public static void main(String[] args) {
new Outer().sayHi();
}
}
小结
成员内部类可直接访问外部类(使用:外部类.this.xxx);
外部成员类要访问内部类,必须先建立成员内部类对象;
成员内部类可使用任意作用域修饰(publicprotected、默认、private);
成员内部类可访问外部类任何作用域修饰的属性和方法;
外部类建立成员内部类对象之后,可以访问任何作用域修饰的内部类属性和方法。
静态成员内部类
定义
在一个类中定义了另一个 static 类,则将定义在类中的那个 static 类称之为静态成员内部
类。
静态成员内部类也就是给内部成员类加上 static 修饰符。
使用
静态成员内部类的使用示例如下:
class OuterClass {
public OuterClass() {
System.out.println("OuterClass Init.");
}
protected static class InnerClass {
public void sayHi() {
System.out.println("Hi, InnerClass.");
}
}
}
class InnerClassTest {
public static void main(String[] args) {
摘要:

各种内部类和枚举类的使用+面试题内部类不仅经常出现在各种面试题中,还会在Java源码中频频出现,因此只有搞明白了Java内部类,才能搞定面试和看懂各种Java源码。内部类Java内部类,分为以下四种:•成员内部类•静态成员内部类•局部内部类•匿名内部类下面分别来看这些内部类的使用。成员内部类定义在一个类中定义了另一个类,则将定义在类中的那个类称之为成员内部类。成员内部类也是最普通的内部类。使用成员内部类的使用示例如下:classOuter{publicOuter(){System.out.println("OuterClass.");}classInner{publicvoidsayHi(){...

展开>> 收起<<
009--各种内部类和枚举类的使用+面试题.docx

共12页,预览3页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:计算机 价格:5.9玖币 属性:12 页 大小:127.14KB 格式:DOCX 时间:2024-12-11

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 12
客服
关注