A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wdd 中级黑马   /  2015-6-18 21:11  /  13621 人查看  /  49 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

提示: 该帖被管理员或版主屏蔽

49 个回复

倒序浏览
外部类调用成员内部类,并使用内部类中方法示例:
       //======创建一个Sample类,并在在Sample类中定义一个成员内部类Inner======
public class Sample {
     public   int    id;
     private String  name;
     static String   type;
     public Sample(){
             id=4545;
             name="苹果";
             type="水果";
     }
     
     //========定义的成员内部类=========
     class Inner{
             private String msg="该内部类包含以下属性:";
             public void print(){
                     System.out.println(msg);
                     System.out.println("编号:"+id);
                     System.out.println("名称:"+name);
                     System.out.println("类别:"+type);
             }
     }
}

接下来的这个类示外部的类,用来调用Sample类中的成员内部类:
   示例:
    //Test类是用来调用Sample类中的成员内部类Inner,并使用Inner内部类的方法
public class Test {        

        public static void main(String[] args) {
                Sample sample=new Sample();                   //这里创建Sample类的对象
                Sample.Inner inner=sample.new Inner();    //创建成员内部类对象
                inner.print();                                                 //成员内部类对象调用其方法
        }
}


=========不知道楼主有没有理解外部类对内部类的调用具体思路===================
回复 使用道具 举报
内部类包括成员内部类,静态内部类,和方法内部类
回复 使用道具 举报
再看看视频。把问题理清楚再问。
回复 使用道具 举报
那怎么用呢
回复 使用道具 举报
在我的新浪里有一篇关于 内部类的介绍  你可以去看看    其他你的也看看把  对你应该有帮助  地址  http://blog.sina.com.cn/u/2841797967
回复 使用道具 举报
洪伟 中级黑马 2015-6-18 21:55:39
7#
其实 内部类 就是定义在另一个类里面的类(即外部类),也可以定义在外部类的方法里,定义的方式和定义普通的类没有任何区别。定义后,就把内部类当作外部类的成员,类成员怎么用,它就怎么用。当然,我说的这个是普通内部类,至于其他几种大体相同,你先把简单的这个弄懂把,其他的以后慢慢了解。一口吃不成胖子
回复 使用道具 举报
内部类很少用的,也别把它看得太难,就跟普通类没区别,只是有个格式问题
1.直接创建内部类对象Outer.Inner Oi=new Outer().new Inner();如果内部类被static修饰, Outer.Inner Oi=new Outer.Inner();
2.局部内部类只能访问被final修饰的局部变量。
回复 使用道具 举报
kalon 来自手机 中级黑马 2015-6-19 00:08:33
9#
多看几遍视频,多咀嚼咀嚼吧,你基础都没搞好怎么玩
回复 使用道具 举报
内部类:就是在其他类内部定义的子类,它是相对包含它的类说的。
内部类有四种:1、成员内部类;
                        2、局部内部类;
                        3、静态内部类;
                        4、匿名内部类;
成员内部类示例:
                     public class Sample{

                          public int id;      //成员变量
                         class Inner{         //成员内部类
                                   
                                      }
            }
局部内部类示例:
       public class Sample{
                    public int id;
                    public void shell(){     //成员方法
                           int price;             //局部变量
                           class Apple{        //内部类,它和局部变量一样,都是在方法内定义的,只能在方法内部有效
                              }
                        }
          }

静态内部类示例:
           public  class Sample{
              static  class Apple{    //静态内部类,用static来修饰。它可以在不创建Sample类情况下直接使用。
                      }
      }

匿名类示例:
   比如创建一个匿名的Apple类:
             public class Sample{
                         public static void main (String[] args){
                                        new Apple(){                 //匿名类,所谓匿名就是没有名称的内部类
                                             public void introduction(){
                                                       System.out.println("这是一个匿名类!");
                                            }
                                   };
                          }
                     
     }
回复 使用道具 举报
wdd 中级黑马 2015-6-19 10:46:00
11#
杰可可 发表于 2015-6-19 10:35
内部类:就是在其他类内部定义的子类,它是相对包含它的类说的。
内部类有四种:1、成员内部类;
          ...

那相互怎么调用呢
回复 使用道具 举报
wdd 发表于 2015-6-19 10:46
那相互怎么调用呢

你说的是几种类型的类之间的相互调用??
回复 使用道具 举报
wdd 发表于 2015-6-19 10:46
那相互怎么调用呢

内部类一般作用于定义它的类中的相关有效范围,调用它的都是定义它的类间接或直接调用
回复 使用道具 举报
外部类就是我们经常的用法
class Wai{}
内部类就是字面意思,类中类
class Wai{
class Nei{
}
}
在内部类中调用外部类的方法或者成员变量,没有任何限制,就普通在外部类中调用时一样直接拿来用就好
而如果要在外部类函数中调用内部类方法或变量的话,就像普通调用类那样,通过内部类new一个内部类的对象,然后通过此对象完成对内部类成员的调用,当然类似私有封装的这些限制,此时是正常存在的
回复 使用道具 举报
类名调用
回复 使用道具 举报
因为内部类就是在外部内的内部,所以可以直接用用外部类的成员啊,外部类也是可以直接使用内部类中的成员的
回复 使用道具 举报
妹纸看着眼熟,是中腾202的吧?
回复 使用道具 举报
JRT 中级黑马 2015-6-19 19:48:49
18#
看到坛友们回复的都太好了,我没话说了
回复 使用道具 举报
wdd 中级黑马 2015-6-20 15:32:43
19#
天涯回望 发表于 2015-6-19 19:08
妹纸看着眼熟,是中腾202的吧?

额。。。我还没有去黑马呢:lol
回复 使用道具 举报
继续看视频,一起努力中。毕向东讲的很清楚啊,如果你是内部类,你会怎么办?
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马