之前我们学习的都是基本数据类型作为参数和返回值,现在提到一个新的概念,类作为形参和返回值,指的是在Java中可以将一个类作为方法的参数或者是返回值。
作为形参时,当我们需要在方法中使用某个类的的对象时,可以将该对象作为参数传递给方法,这样方法就可以直接使用该对象,就不需要再创建一个对象实例化,以此便减少了代码的冗余。
下面我用几段代码来演示:
1.先创建一个Cat类,并创建一个eat的方法
public class Cat {
public void eat(){
System.out.println("猫吃鱼");
}
}
2.我再创建一个CatOperator类,并创建了useCat的方法,可以在下面代码看到,useCat的方法接收了一个cat实例来作为这个方法的参数
public class CatOperator {
public void useCat(Cat cat) {
cat.eat();
}
3.再创建一个测试类(Demo类),创建CatOperator类的对象,并调用方法
public class Demo {
public static void main(String[] args) {
CatOperator catOperator = new CatOperator();
Cat cat = new Cat();
catOperator.useCat(cat);
在测试类中,我们创建了一个catoperator的对象,利用该对象去调用了useCat的方法,并直接使用了cat对象,打印出结果为猫吃鱼。因为useCat中的参数类型要是一个对象,所以首先便Cat cat = new Cat();创建了个对象传递过去给useCat方法,然后调用成功了,这个catOperator.useCat(cat);就相当于cat.eat();
作为返回值时,在CatOperator类中创建了getCat方法,然后创建了cat的对象,并进行返回, 返回的cat1相当于new Cat()这玩意,如下:
public Cat getCat() {
Cat cat1 = new Cat();
return cat1;
}
在测试类中,同样利用catoperator来调用getCat的方法, 这样调用相当于把对象返回的对象cat1拿来用,于是便把new Cat()这玩意,赋值给了catOperator.getCat这玩意,等于是Cat cat1 = new Cat();
直白的说,本来可以直接创建对象,他创建了个方法来返回你要创建的对象
Cat cat1 = catOperator.getCat();
cat1.eat();