马克社区吧 关注:484贴子:446
  • 0回复贴,共1

java中接口interface和private私有内部类是怎么一块配合着用的?

只看楼主收藏回复

3.接口interface和private内部类协同工作【新手可忽略不影响继续学习】
马克-to-win:由于是private内部类,外面无法访问甚至无法看到你编的源代码(如果在不同的包中),非常安全。外界只能调用接口中的方法。下例中访问不了Core,甚至你不知道有Core的存在。给你的就是外部的接口,供你使用。马克-to-win:我们一直没讲class如何能private, 这里内部类时,就可以用private了。且内部类随便访问外部类的东西, 这就非常有力度了, 可以用到外部类所有的资源!
例2.3
interface CoreI
{
void display();
}
class ShellMark_to_win {
int shell_x = 100;
static int n;
// 下面内部类是private,只能外层类的方法才能访问到, 非常安全
private class Core implements CoreI {
/*下一句错误,马克-to-win:根据语法:静态的域或方法只能出现在静态类或最外层类上。The field m cannot bedeclared static; static fields can only be declared in static innerclass or top level classes,*/
// static int m=9;
int y = 10; // y is local to core
public void display() {
shell_x=shell_x+20;
n=n+1;//马克-to-win:轻松访问外层类的静态变量
System.out.println("n is "+n+" display: shell_x and y " + shell_x + ""+ShellMark_to_win.this.shell_x+ " " + y+ " "+this.y);
}
}
Core newC()
{
return new Core();
}
}
public class Test {
。。。。。。。。。。。。。。。。。
详情请进:http://www.mark-to-win.com/JavaBeginner/JavaBeginner4_web.html#InterfaceInnerClassCoop


回复
1楼2014-07-23 10:16

    扫二维码下载贴吧客户端

    下载贴吧APP
    看高清直播、视频!