Java中直接创建一个内部类对象的时候为什么要导入类

比如这段代码//importcn.dream.oop.test.innerclass.Face.Nose;publicclassOuterClass{publicstat... 比如这段代码
//import cn.dream.oop.test.innerclass.Face.Nose;

public class OuterClass {
public static void main(String[] args) {
// Face f = new Face();
// Nose n = f.new Nose(); //必须导入该类
Face.Nose fn = new Face().new Nose(); //不需要导入类
}
}

class Face{
int type;

public class Nose{
String type;

void breath(){
System.out.println("呼吸!!");
}
}
}

直接创建一个内部类为什么需要导入Nose类呢?
Face f = new Face();
Nose n = f.new Nose();
不是,各位,你们没看懂问题。
我问的不是Nose n = f.new Nose();之前为什么要Face f = new Face();这个原因我知道。

我问的是://import cn.dream.oop.test.innerclass.Face.Nose;为什么要有这个导入?
展开
 我来答
小傻

推荐于2016-06-19 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部
java中直接创建一个内部类对象导入外部类,可以访问私有属性,进行封装,防止外界破坏。
内部类对象可以访问创建它的外部类对象的内容,甚至包括私有变量。在设计时提供了更多的思路和捷径。要想实现这个功能,内部类对象就必须有指向外部类对象的引用。Java 编译器在创建内部类对象时,隐式的把其外部类对象的引用也传了进去并一直保存着。这样就使得内部类对象始终可以访问其外部类对象,同时这也是为什么在外部 类作用范围之外向要创建内部类对象必须先创建其外部类对象的原因。
yukinoGH4vP
2014-02-13 · 超过18用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:44.9万
展开全部
Nose是Face的非静态内部类 既然是非静态 在使用前 必须要有其对象才能使用 所以先创建Face的对象 再用该对象 创建 Nose对象
追问
你说的我知道。
我问的是://import cn.dream.oop.test.innerclass.Face.Nose;为什么要有这个导入?
追答
你这两个类有没有在 同一个包里?  这个导入前面有没有 警告?  有警告的话证明这个代码 没用的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ymxx_yy
2014-02-13 · TA获得超过407个赞
知道小有建树答主
回答量:373
采纳率:0%
帮助的人:301万
展开全部
在创建实例内部类的实例时,外部类的实例必须存在

对main方法而言,虽然写在类中,它是游离于任何类之外的(就跟C++一样,单独一个main方法),因此某类的非静态内部类对它而言是不直接可见的,也就无法直接访问

http://zhidao.baidu.com/link?url=GBIGPogjxWpqPGI74z7Nt8cy1uoW4mQUU7imba4gAvklwEG5I03J19Y7yEBz9TVZo4iWRLjcN3m1_QZkZ4Fz-a
更多追问追答
追问
你说的我知道。
我问的是://import cn.dream.oop.test.innerclass.Face.Nose;为什么要有这个导入?
追答
Nose n = f.new Nose();
因为这个, Nose 这个类是内部类,不导入的话IDE找不到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
满阶梧桐月明中
2014-02-13 · TA获得超过289个赞
知道小有建树答主
回答量:358
采纳率:0%
帮助的人:150万
展开全部
亲,他不得先找到Face才能找到其里边的Nose吗?
更多追问追答
追问
你说的我知道。
我问的是://import cn.dream.oop.test.innerclass.Face.Nose;为什么要有这个导入?
追答
那不是2个类吗?一个类调另一个你总得导人家所在的包吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式