先定义两个类:
class Animal{
String name;
public Animal(String name) {
this.name = name;
}
public void eat(){
System.out.println("吃东西");
}
}
class Dog extends Animal{
String sex;
public Dog(String name, String sex) {
super(name);
this.sex = sex;
}
public void call(){
System.out.println("汪汪叫");
}
}
第一种:
public class Test1{
public static void main(String[] args) {
Animal animal1 = new Dog("大黄","公");//直接赋值
}
}
第二种:
public class Test1 {
public static void main(String[] args) {
Dog dog = new Dog("大黄","公");
func(dog);
}
public static void func(Animal animal){
//在函数中使用
}
}
第三种:
public class Test1 {
public static void main(String[] args) {
Animal animal1 = func1(); //(1)
Animal animal2 = func2(); //(2)
}
//作为函数返回值使用
public static Animal func1(){
//(1)
return new Dog("大黄","公");
}
public static Dog func2(){
//(2)
return new Dog("大黄","公");//不建议,很容易出错
}
}