对java 了解不多,碰到了一个不太明白的问题。
在一个类的静态方法中,为什么不能直接实例化类中包含的非静态的类。
比如一下代码:

关于 java 的静态类。public class Hello {
关于 java 的静态类。    
关于 java 的静态类。    interface ITest
关于 java 的静态类。    {
关于 java 的静态类。        
void SayHello(String msg);
关于 java 的静态类。    }
关于 java 的静态类。    
关于 java 的静态类。    public class CBaseTest
关于 java 的静态类。    {
关于 java 的静态类。        public 
void Hello(String msg)
关于 java 的静态类。        {
关于 java 的静态类。            System.out.println(
"hello" + msg);
关于 java 的静态类。        }
关于 java 的静态类。    }
关于 java 的静态类。    
关于 java 的静态类。    public   class CChild extends CBaseTest implements ITest    
关于 java 的静态类。    {
关于 java 的静态类。        public 
void SayHello(String msg)
关于 java 的静态类。        {
关于 java 的静态类。            System.out.println(
"Interface" + msg);
关于 java 的静态类。        }
关于 java 的静态类。        
关于 java 的静态类。        public CChild()
关于 java 的静态类。        {
关于 java 的静态类。        ;    
关于 java 的静态类。        }        
关于 java 的静态类。    }
关于 java 的静态类。    
关于 java 的静态类。    public static 
void main(String[] args)
关于 java 的静态类。    {
关于 java 的静态类。        System.out.println(
"Hello,Montaque");
关于 java 的静态类。        
关于 java 的静态类。        CChild c
=new CChild();
关于 java 的静态类。    }
关于 java 的静态类。        
关于 java 的静态类。}


CChild c=new CChild()的时候报错。

No enclosing instance of type Hello is accessible. Must qualify the allocation with an enclosing
 instance of type Hello (e.g. x.new A() where x is an instance of Hello).

必须要把 CChild 改为静态类或者 从新wrappe 一个方法来调用CChild 的方法。

相关文章:

  • 2022-12-23
  • 2021-09-13
  • 2021-05-25
  • 2021-11-30
  • 2021-12-21
  • 2022-12-23
  • 2021-12-21
  • 2021-08-27
猜你喜欢
  • 2021-12-29
  • 2022-12-23
  • 2022-01-04
  • 2021-09-30
相关资源
相似解决方案