JAVA新手学习上的问题 麻烦前辈解答下
来源:百度知道 编辑:UC知道 时间:2024/06/05 11:44:31
class Dog {
String name;
}
public class DogTestDrive {
public static void main (String [] args) {
Dog dog1 = new Dog();
dog1.bark();
dog1.name = "Bart";
Dog[] myDogs = new Dog[3];
myDogs[0] = new Dog();
myDogs[1] = new Dog();
myDogs[2] = dog1;
myDogs[0].name = "Fred";
myDogs[1].name = "Marge";
System.out.print("last dog's name is");
System.out.println(myDogs[2].name);
int x = 0;
while (x < myDogs.length ) {
myDogs[x].bark();
x = x + 1;
}
}
public void bark() {
System.out.println( name + " says Ruff!") ;
}
public void eat() { }
public void chaseCat() { }
}
编译时有3个错误
DogTestDrive.java:9: 找不到符号
符号: 方法 bark()
位置: 类 Dog
dog1.bark();
^
DogTestDrive.java:25: 找
String name;
}
public class DogTestDrive {
public static void main (String [] args) {
Dog dog1 = new Dog();
dog1.bark();
dog1.name = "Bart";
Dog[] myDogs = new Dog[3];
myDogs[0] = new Dog();
myDogs[1] = new Dog();
myDogs[2] = dog1;
myDogs[0].name = "Fred";
myDogs[1].name = "Marge";
System.out.print("last dog's name is");
System.out.println(myDogs[2].name);
int x = 0;
while (x < myDogs.length ) {
myDogs[x].bark();
x = x + 1;
}
}
public void bark() {
System.out.println( name + " says Ruff!") ;
}
public void eat() { }
public void chaseCat() { }
}
编译时有3个错误
DogTestDrive.java:9: 找不到符号
符号: 方法 bark()
位置: 类 Dog
dog1.bark();
^
DogTestDrive.java:25: 找
dog1.bark(); 调用的是class Dog中的bark方法,不是class DogTestDrive中的,因为dog1是Dog类的对象。应该这样写:
class Dog {
String name;
public void bark() {
System.out.println( name + " says Ruff!") ;
}
public void eat() { }
public void chaseCat() { }
}
}
你的Dog里面根本没有bark()方法 当然会出错
让爱火候DogTestDrive也没有name这个字段 肯定会出错
加上就醒了