java中创建对象,A B = new B(this); A = new B(this); A = newB();

1个回答

  • A B = new A(this)

    A = new B(this)

    A = newB();

    从后往前说.最后一种写法如果是创建对象,那么语法是错误的.如果编译没错,那么A应该是一个已声明的变量,newB()是一个方法,调用newB()会返回一个值,将这个值赋给变量A.

    第二种情况,如果前面没有语句,那么语法是错误的.如果前面已经将A声明为一个变量,那么这句话正确.

    第一种情况下,如果没有导入B类,仅是把B当做一个变量名,那么语句正确.传的this是一个指向自己的引用.这句话是利用自身对象来创建一个新对象,那么可以预见,新对象中的各项值应该与自身对象是相同的.这句话与子类没有关系