现在我发现我迷糊了1:对象是否实例化后才能调用方法如: 类a
1)a obj = new a(); obj.method();
2)a obj; obj.method();
2:对象被从另一个package中引入是否要先实例化后才能调用方法,还是只要建立一个对象就可以调用方法了import package.a;
1)a obj; obj.method();
2)a obj = new a(); obj.method();3:有一种情况,对象没有被申明,但是突然在某个地方用new + 构造函数(参数行)的方法实例化,这种语法是否正确如: 有个类a
并没有建立对象-- a obj;而直接在某处以 -- new a()实例并使用
1)a obj = new a(); obj.method();
2)a obj; obj.method();
2:对象被从另一个package中引入是否要先实例化后才能调用方法,还是只要建立一个对象就可以调用方法了import package.a;
1)a obj; obj.method();
2)a obj = new a(); obj.method();3:有一种情况,对象没有被申明,但是突然在某个地方用new + 构造函数(参数行)的方法实例化,这种语法是否正确如: 有个类a
并没有建立对象-- a obj;而直接在某处以 -- new a()实例并使用
You must create an object before you use it.
An object declaration is not an creation.Question 3
you can create an object but do not bind any reference to it.
A obj=null; //这样只是声明一个引用(你可以把它看作一个指向null的指针/我喜欢叫引指)而没有引用任何实例
obj=new A();//这样这个引用才指向 一个实例 而 new A()才是建立实例的过程 即 实例化2。 import 只是让一个包中的类 对于本文件可见 与是否实例化 无关。3。见 问题1的答案
A obj = new A();//此时动态分配内存空间
A obj;//并没有动态分配内存空间
ClassA obj = new ClassA();
obj.method();或
(new ClassA()).method()效果是一样的
2.非static的方法,也new一个实例才能调用
static方法直接调用
3.可以new一个实例直接使用(不要变量)