黑马程序员_总结外部类访问内部类

------------- android培训java培训、java博客、java学习型技术博客、期待与您交流! -------------

对外部类搞的有点混乱,查了好多资料,整理的笔记,分享下:


public class Outer

{

public class Inner1   //在方法体外面定义的内部类

{

}

}

1.在方法体外面定义的内部类的访问类型可以是public,protecte,默认的,private4种类型,这就好像类中定义的成员变量有4种访问类型一样,它们决定这个内部类的定义对其他类是否可见;对于这种情况,我们也可以在外面创建内部类的实例对象,创建内部类的实例对象时,一定要先创建外部类的实例对象,然后用这个外部类的实例对象去创建内部类的实例对象,代码如下:

Outer outer = new Outer();

Outer.Inner1 inner1 = outer.new Innner1();

2.

在方法外部定义的内部类前面可以加上static关键字,创建内部类的实例对象时,代码如下:

Outer.Inner1 inner1 = outer.new Innner1();

同时整理已到面试题:

  1. interface Inter  {
  2.         public abstract void show();

  3. class Outer  {
  4.         //请完成Outer的内容
  5. }
  6. class  InterClassTest{
  7.         public static void main(String[] args) {
  8.                 Outer.method().show();
  9.         }
  10. }

答案:

  1. interface Inter  {
  2.         public abstract void show();

  3. class Outer  {
  4.         static Inter method()
  5. {
  6. return new Inter()
  7. {
  8.   public void show(){};
  9. }
  10. }
  11. }
  12. class  InterClassTest{
  13.         public static void main(String[] args) {
  14.                 Outer.method().show();
  15.         }
  16. }
分析:根据主函数 
1.Outer.method()可以发现method()是Outer中的静态方法,
2.Outer.method().show()  show()方法被调用,show方法所属Inter接口,只有Inter对象才可以调用。
  因此Outer.method()运行后肯定返回了Inter实例化对象。
3.Inter为接口,实例化对象时必须重写show方法。


------------- android培训java培训、java博客、java学习型技术博客、期待与您交流! -------------

详情请查看:http://edu.csdn.net/heima/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值