社区
Java
帖子详情
为什么内部类不能在main()中实例化。。。
tx183584
2010-07-17 11:03:38
如下,new d();就会出错。。
public class close {
class d
{
}
public static void main(String[] args)
{
// new d();
new close();
}
}
...全文
452
8
打赏
收藏
为什么内部类不能在main()中实例化。。。
如下,new d();就会出错。。 public class close { class d { } public static void main(String[] args) { // new d(); new close(); } }
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
多留活口少挖坑
2011-06-30
打赏
举报
回复
2楼说的也对,不过在jdk1.4中,直接写上楼至的代码却是对的,jdk1.4之后就全部报出3楼的错哈。
多留活口少挖坑
2011-06-30
打赏
举报
回复
3楼说得对啊,我试过了,不过myeclipse8.6在写enclosingInstance.new没有提示语句,写完整就不再报错了。
huntor
2010-07-18
打赏
举报
回复
new d();
==》
new close().new d();
chen_2001
2010-07-18
打赏
举报
回复
内部类不是静态的,main是静态的,所以不能实例化
blliy117
2010-07-17
打赏
举报
回复
如果是动态内部类,需要一个实例和能实例化动态内部类。
dracularking
2010-07-17
打赏
举报
回复
No enclosing instance of type close is accessible. Must qualify the allocation with an enclosing instance of type close (e.g. x.new A() where x is an instance of close).
对main方法而言,它是游离于任何类之外的,因此某类的非静态内部类对它而言是不直接可见的,也就无法直接访问,like this:
enclosingInstance = new EnclosingClass();
nestedInstance = enclosingInstance.new NestedClass();
火龙果被占用了
2010-07-17
打赏
举报
回复
main 方法是个静态方法,而 d 类不是个静态内部类,所以不能直接初始化。
ZangXT
2010-07-17
打赏
举报
回复
d类的对象需要存在一个外部的close对象。
Android教你如何一分钟实现下拉刷新功能项目完整实例代码
此为示例代码,详解讲解请参考 http://blog.csdn.net/sinyu890807/article/details/9255575
Java
中
main
方法
中
为什么
不能
直接创建
实例化
内部类
对象
1:非静态
内部类
,必须有一个外部类的引用才能创建。2:在外部类的非静态方法
中
,因为有隐含的外部类引用this,所以可以直接创建非静态
内部类
。3:在外部类的静态方法
中
,因为没有this,所以必须先获得外部类引用,然后创建非静态
内部类
。4:静态
内部类
,不需要外部类引用就可以直接创建。5:同时静态的
内部类
,也
不能
直接访问外部类的非静态方法。6:由此可以推测,非静态
内部类
之所以可以直接访问外部类的方法,是因
java
内部类
的
实例化
_如何在Java
中
实例化
成员
内部类
?
在类内部但在方法外部声明的类称为成员
内部类
。我们可以通过两种方式
实例化
成员
内部类
在类内调用在类外调用内部阶级规则外部类(包含
内部类
的类)可以在其代码内
实例化
任意数量的
内部类
对象。如果
内部类
是public且包含类,那么其他一些不相关的类
中
的代码也可以创建
内部类
的实例。没有
内部类
对象会自动用外部类对象
实例化
。如果
内部类
是静态的,则可以在没有外部类实例的情况下
实例化
静态
内部类
。否则,
内部类
对象必须与外部...
Java如何在
main
方法
中
实例化
内部类
对象
今天我在
实例化
一个类是编译器报以下错误: No enclosing instance of type Person is accessible. Must qualify the allocation with an enclosing instance of type Person (e.g. x.new A() where x is an instance of Person). ...
java 静态
内部类
实例化
_
内部类
及静态
内部类
的
实例化
内部类
的
实例化
如果
内部类
未声明为static,在
实例化
时首先需要new一个外部类的对象。并通过p.new Inner()的方式new
内部类
,表明这个
内部类
指向该外部类。
内部类
的class类型为:Parent.Inner,而不是p.Inner,这个需要和new的方式区分开。public class Test {public static void
main
(String[] args) {Pare...
Java
51,397
社区成员
85,847
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章