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

从头认识java-8.5 在方法和作用域里的内部类

2015-11-12 17:00 387 查看
这一章节我们来聊一下在方法和作用域里的内部类。
1.为什么需要在方法和作用域里的内部类?
(1)隐藏代码。
(2)处理复杂的问题,需要辅助类。
package com.ray.ch10;

public class Test {
{
class PDestination {
}
}

public Destination test() {
class PDestination implements Destination {

private String target = "abc";

@Override
public String read() {
return target;
}
}
return new PDestination();
}

public static void main(String[] args) {

}
}

interface Destination {
String read();
}

上面的代码就是在方法里面加上一个类来辅助这个方法。

2.特性
(1)可以放在代码里面的任意地方。
package com.ray.ch10;

public class Test {
{
class PDestination {
}
}

public Destination test() {
Destination destination = null;
if (true) {
class PDestination implements Destination {

private String target = "abc";

@Override
public String read() {
return target;
}
}
destination = new PDestination();
}
return destination;
}

public static void main(String[] args) {

}
}

interface Destination {
String read();
}

我们修改一下上面的代码,把class放到了if里面去,只有某些条件成立,才执行class里面的东西。

(2)在方法或者作用域这些地方放置类,是不影响外部类的命名。
从上面的代码可以看见,在代码块里面和方法里面的类的名称都是相同的,大家之间毫不影响。
因为PDestination都只是在各自的作用域里面起作用。到了外部,就没有这个类了。

(3)更加能够隐藏代码的实现。
在方法或者作用域里面,只能是里面的代码能够读取或者执行这个内部类,其他所有的地方都不可以。

总结:这一章节主要讲述了为什么需要在方法和作用域里的内部类,和这些内部类的一些特性。

这一章节就到这里,谢谢。
-----------------------------------
目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java