类也可以作为形参和返回值?

形参和返回值

普通类

    方法的形参是类名,其实需要的是该类的对象 方法的返回值是类名,其实返回的是该类的对象
下面给出代码演示
public class Cat {
          
   

	public void eat() {
          
   
		System.out.println("猫吃鱼");
	}
}

操作类

public class CatOpreator {
          
   

	public void useCat(Cat c) {
          
   //需要传递一个对象
		c.eat();
	}
	public Cat useCat2() {
          
   //返回一个对象
		Cat c = new Cat();
		return c;
	}
}

测试类

public class CatDamo {
          
   

	public static void main(String[] args) {
          
   
		//类名作形参
			/*创建一个操作类对象*/
		CatOpreator co = new CatOpreator();
		Cat c=new Cat();
		co.useCat(c);
		//类名做返回值
		Cat cc = co.useCat2();//相当于Cat cc = new Cat;
		cc.eat(); 
	}

}

抽象类

    方法的形参是抽象类名,其实需要的是该抽象类的子类对象 方法的返回值是抽象类名,其实返回的是该抽象类的子类对象
代码演示

首先定义父子类

public abstract class Animal {
          
   

	public abstract void eat();
	
}
public class Cat2 extends Animal  {
          
   

	@Override
	public void eat() {
          
   
	System.out.println("猫吃鱼");	
	}
	
}

操作类

public class AnimalOperator {
          
   
	public void useAnimal(Animal a) {
          
   
		a.eat();
	}
	public Animal getAnimal() {
          
   
		Animal a = new Cat2();
		return a;
	}
}

测试类

public class AnimalDemo {
          
   

	public static void main(String[] args) {
          
   
		AnimalOperator ao = new AnimalOperator();
		Animal a = new Cat2();//多态的运用-向上转型
		ao.useAnimal(a);
		
		System.out.println("-----");
		
		Animal aa = ao.getAnimal();//相当于Animal aa = new Cat2();
		aa.eat();
	}

}
循序渐进,勇攀登!
一起加油!
经验分享 程序员 微信小程序 职场和发展