欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

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

来源: javaer 分享于  点击 24402 次 点评:183

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


------------- 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/

相关文章

    暂无相关文章
相关栏目:

用户点评