为了账号安全,请及时绑定邮箱和手机立即绑定

MOuter类和MInner类对象的创建

http://img1.sycdn.imooc.com//54da52e400013ca708200621.jpg

  1. MInner 内部类不是不能在外部类方法以外的地方使用嘛 为什么可以在方法外面创建方法内部类的对象啊?

  2. 为什么外部类MOuter在还没有定义结束的时候就可以创建对象了?(第一行的大括号不是和最后一行对应的吗?)

小女纸愚昧无知 求大神回答T口T!!

正在回答

3 回答

补充一下,在程序执行中main方法是程序的主入口,先从主方法开始,要想执行show方法那就需要再main中创建类对象,然后通过对象去调用show方法整个程序才能执行,如果不创建对象这个程序还要怎么运行呀!在这里你要知道所有的程序都要从入口开始执行,那在java程序里入口就是main方法。

0 回复 有任何疑惑可以回复我~
#1

桃桃桃桃桃子sama 提问者

我知道所有程序都要从入口函数开始执行 我想问的是这整个程序不都是在外部类定义的过程中嘛 就连main函数也在外部类中 这样的话 为什么外部类没有定义完(就是说外部类的第一个大括号和最后一个大括号内部)就可以创建正在定义的类的对象了呢?总感觉main函数应该卸载现在程序的最后一行大括号以外啊。。。
2015-02-11 回复 有任何疑惑可以回复我~
#2

桃桃桃桃桃子sama 提问者

1.我好像明白了一点点 是不是说整个程序从main函数开始执行 当创建外部类对象的时候(这个时候)外部类对象会被创建 而外部类的定义已经写完了 可以创建? 2.突然又有一个问题了(不要打我T T就是这么笨 任性)main函数既然写在了外部类的定义内 那么main函数算不算是外部类的方法呢?如果在同一个包下定义的其他类里面能不能调用main函数呢?
2015-02-11 回复 有任何疑惑可以回复我~
#3

桃桃桃桃桃子sama 提问者

谢谢
2015-02-11 回复 有任何疑惑可以回复我~
#4

yymooc 回复 桃桃桃桃桃子sama 提问者

可以是可以的,但是在变成习惯上没有这样写的,而且也没有什么意义
2015-02-12 回复 有任何疑惑可以回复我~
查看1条回复

可以是可以的,但是在变成习惯上没有这样写的,而且也没有什么意义。

0 回复 有任何疑惑可以回复我~

MInner 内部类是不能在外部类方法以外的地方使用的,这段代码创建内部类对象是在外部类内部的show方法中创建的,也就是说他是在外部类方法以内的地方创建的呀,没有超出范围,你再好好理解一下。

0 回复 有任何疑惑可以回复我~
#1

桃桃桃桃桃子sama 提问者

啊 对哦 我看错括号了= = 谢谢!
2015-02-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530696    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

MOuter类和MInner类对象的创建

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信