1.为什么可以直接new+构造方法,来创建对象。而不用创建实例引用呢,像常见的这种:Car car1=new Car;我记得看过有说java中没有被引用的对象将被GC处理。那这个算不算。
你创建了一个对象是为了使用。如果你在创建后需要多次使用,就可以把创建的对象赋给一个引用,以后使用该对象时直接通过引用就行了。
但如果你只用一次,比如只是运行一下该类中的某个方法,那就不必把对象赋给一个引用:
new Car(4, 4).method1();
如果你只是创建一个新对象,new Car(4, 4);语法上一点问题也没有,只要你明白你为什么要这样做就行。
这个算是没有被引用的对象,有资格被 GC 处理。
2.我将new Car(4,4);换成Car car1=new Car(4,4);后程序也能执行,但是提示car没有被使用。为什么。
你声明了一个引用变量 car1,并把一个新创建的对象赋给它。你这样做的目的是为了后面通过这个引用来使用对象。但是你没有使用这个引用,IDE 于是你一个提示,让你注意这个问题。注意:这只是个提示,不是编译错误。
3.在本类中方法调用本类其他方法可以用this.方法名,但是main由于是static好像不行。那如果在main中调用main所在类其他方法该怎么做?
你可以这样做:
Car car1 = new Car(4, 4);
car1.method1();