如果想要调用某个已经实例化的对象,那么只有把那个对象的引用传到你当前对象才可能,不然没办法,或者说你只需要那个类的方法,那你在代码里面创建一个新对象调用就好了。
你报错是因为你在对象本身创建一个自己的对象,实际上进入了死循环了,你试想一下,你每次创建TestDiaoYongLingWaiLeiDuiXiang2对象的时候,这个对象又要通过new 创建一个TestDiaoYongLingWaiLeiDuiXiang2对象,然后这个对象创建的时候又去new 一直没有穷尽,所以就把内存撑爆了。
static修饰这个对象就是把对象的实例化提前了,也就是说这个对象会在jvm运行时就先加载到内存,而不是你new的时候,所有new出来的对象的这个属性都指向这一个地方,所以你无论用new还是类名.都可以访问到他,而且两种方式访问到的是同一个对象。
(1)说的挺绕,调用另外一个类中已经实例化的对象可以将该实例对象声明为全局变量即可
(2)因为不声明为静态就会每次调用时都创建一个新的对象,如此造成死锁,程序报错
(3)static 修饰的对象为静态对象,由类对象调用和由类名调用都是同一个对象;但一般习惯用类名直接调用静态成员