雪中_悍刀行
2016-07-06 22:45
//外部类HelloWorld public class HelloWorld { // 内部类Inner,类Inner在类HelloWorld的内部 public class Inner { // 内部类的方法 public void show() { System.out.println("welcome to imooc!"); } } public static void main(String[] args) { // 创建外部类对象 HelloWorld hello = new HelloWorld(); // 创建内部类对象 Inner i = hello.new Inner(); // 调用内部类对象的方法 i.show(); } }
其中
// 创建内部类对象
Inner i = hello.new Inner();
为什么要这样创建内部类的对象,
而:
Inner i=new Inner();
这样创建内部类的对象不可以吗
不可以
如果类理解起来吃力,可以想一下方法,你怎么使用一个类里面定义的方法?肯定是先new一个对象hello,然后再hello.xxx() 这样使用方法。你在定义一个内部类的时候,默认会生成此内部类的构造方法,如何使用此方法?跟普通方法一样。
以上
内部类创建方法:
如果类B中有内部类C,则静态内部类可以直接创建对象new B.C();
如果内部类不是静态的,那就得这样
B b = new B();
B.C c = b.new C();(C c =b.new C();也行)
赞!!!
Java入门第二季 升级版
530643 学习 · 6091 问题
相似问题