我问的就是这个问题 但是呜呜我看不懂你的解释
追答你好,我在。哪里不懂呢,我可以帮你。
追问就是为什么能 调用没有创建对象里的 方法
追答看我的例子,因为这里的d只是一个符号,是不分配内存的,不是真正的对象。您可以把类理解为一个模板,每次创建对象都要调用这个类。在我们定义的foo方法中,d不是真正的对象,只是一个符号,接下来在主函数中调用Demo d1 = new Demo(); Demo d2 = new Demo(); new关键字表示分配内存给这个对象,也就是分配了内存,d1.doSeomthing() 之所以能调用时因为 1. d1 是Demo 类的对象,2. Demo 类定义了doSomething() 方法。你始终记住,函数必须先声明后调用。在Java中,成员方法在对象上调用,所以d1.soSomething().
想问一下 不是调用另一个类的东西都需要创建对象吗 不是应该在里面先有一句 Pet pet=new Pet()吗
追答有对象就可以调用方法,并不表示这个对象必须在此时此刻创建,因为这个对象是从其他的地方已经创建。
比如你这个
public class Master{
public static void main(String[] args)
{
Pet pet=new Pet();//是在方法的外面创建了传进方法里面用的
feed(pet);
}
public void feed(Pet pet)
{
if(pet != null)
{
pet.edt();
}
}
}