package day04;
class Dog{ //
int age;
String name;
public void shout() {
System.out.println("汪");
}
public void eat() {
System.out.println("吃肉");
}
}
//我们要在Person类中调用Dog类的成员,所以基本思想是在Person类中生成Dog类的对象,但是这样有可能把代码写的太固定,不灵活,那么可以通过
//把类作为参数类型传给方法,后续调用该方法的时候,再传入指定的对象。
class Person{
public void speak(Dog dog) { //把Dog类作为参数类型,后续就可以通过dog这个形参来调用Dog类的成员,从而实现,在Person类中调用Dog类的成员。
dog.age=10;
dog.name="旺财";
System.out.println("我家的狗的名字是"+dog.name+";我家的狗的年龄是"+dog.age);
dog.shout();
dog.eat();
}
}
public class TestClassParameters {
public static void main(String[] args) {
Person p = new Person();
Dog dog = new Dog();
//当我们把一个类名作为参数类型给一个方法的时候,实际调用该方法,需要传入的参数是,这个类的一个对象,new出来的对象。
p.speak(dog); //实际调用的时候,传进来的是这个类的一个对象!!
}
}
我家的狗的名字是旺财;我家的狗的年龄是10
汪
吃肉