首先需要明确创建对象的意义是什么?
答案:一个类中包含了很多种方法和变量,而这个类里面如果不包含静态方法,【下面的例子给出了通过类名直接调用方法名】那么要想使用这个类的方法就需要进行实例化,也就是创建对象。也可以理解为初始化,只有初始化的类才可以使用里面的方法。
1.最常用的,也是最基础,也是刚学Java的新手需要使用到的就是关键字new。下面通过一段代码进行说明。
public class Sum{
public tatic void main(String[] args){
Add a=new Add();
/* 注意此时的Add()虽然与类名相同,但这个是构造方法,并不是类,也就是说如果换成这个类中的另一个方法是不能进行实例化的,编译的时候会出错。而此时的构造方法系统已经给分配好了,当然如果想重新写一个带参数的构造方法用来实例化对象也是可以的*/
System.out.println(a.add());
}
}
class Add{
public int add(){
int sum=0;
for(int i=0;i<=5;i++){
sum+=i;
}
return sum;
}
}
【至于构造方法的定义及运用,这里也就不进行阐述了,可以自行翻阅资料及教学视频】
2.通过一个空对象来进行调用,但实际上这个对象已经在被调用的类中实例化了,值得注意的是这种调用的方法类型必须与实例化对象相同,否则会出错。
package zhuanxing;
import zhuanxing.Student;
public class test{
public static void main(String[] args)
{
Teacher Tea=null;
Tea=Student.sum();
}
}
class Teacher{
public void doteacher(){
System.out.println("I am a teacher");
}
}
Package zhuanxing;
public class Student{
public static Teacher sum(){
Teacher t=new Teacher();
Syste.out.println("我是一个学生");
return t;
}
}
这里的Teacher类通过在类Student中进行实例化,sum()方法的返回值类型一定要是Teacher类型,否则会出错。这个例子中是直接调用的Student类的静态方法,如果那个方法不是静态类的在Test的main()方法中一定要先实例化Student类。