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

为什么不能使用SInner si = HelloWorld.new SInner();来创建对象

使用SInner si = HelloWorld.new SInner();来创建对象,如果按照调用静态方法来看,这好像没什么毛病啊,但是为什么使用HelloWorld.会报错?

正在回答

3 回答

当内部类为静态内部类时:创建对象是 内部类名 对象名=new 内部类名();

当内部类为非静态内部类时:创建内部类对象时需要通过外部类对象:内部名 内部对象名=外部对象名.new 内部对象名();

而此题内部类为静态内部类

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

通过“HelloWorld.”可以调用出静态方法和静态属性。然后你是通过类名调用了一个静态类实例化后的一个实例,觉得是出现了语句逻辑错误,可以这样,SInner si=new HelloWorld.Sinner();才疏学浅的我是这样认为的,接受路过攻城狮斧正。祝学愉快

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

HelloWorld并没有被实例化

只有实例化后才可以这样使用

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

举报

0/150
提交
取消

为什么不能使用SInner si = HelloWorld.new SInner();来创建对象

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