今天看到以下几个代码,看到定义了一个TestSwitch的公共类,然后就在类的里面就能TestSwith x=new TestSwitch,这是合法的吗,原以为一定要定义多一个另的类再调用这个类的对像呢.....怎么这样???
public class TestSwitch{
public static void main(String args[]){
TestSwitch tni = new TestSwitch();
String s = tni.convert(4);
System.out.println(s);
}

解决方案 »

  1.   

    这个叫recursion-递归  当然可以
      

  2.   

    public static void main 是静态方法,它是存在于类中的,有没有对象都可以调用这个方法.在一个已经存在的方法中生成一个对象,有何不可.
      

  3.   

    class person(){
       person a =new person();
       ....
    ....这样的话错吗
      

  4.   


       首先对楼主勤于思考的精神表示敬意   我一开始学习java时候就频频见到这样的用法,但我就从没想过能不能这样用,跟楼主比我太懒了
      

  5.   

    如果楼上的那个可以通过的话,那和static 表明就没关系了哦....
      

  6.   

    class person{ 
      person a =new person();} 
    ...原来这样是可以的
      

  7.   


    楼主用过单例后,会发现里面一堆这样的不过有可能前面加了关键字private修饰