class Undead{
protected String food;
protected String comesOut;
Undead(){
}
Undead(String f){
food = f;
}
public void setFood(String f){
food = f;
}
public String getFood(){
return food;
}
public void eats(){
System.out.println("The undead eats "+ food);
}
public void comesOut(){
System.out.println("The undead can come out" + comesOut);
}
}
class Vampire extends Undead {
private String name ;
Vampire(){
}
Vampire(String n){
name = n;
}
Vampire(String n, String f){
name = n;
food = f;
}
public void setName(String n){
name = n;
}
public String getName(){
return name;
}
public void eats(){
System.out.println(name + "drinks" + food);
}
public void comesOut(){
System.out.println(name + "comes out"+ comesOut);
}
}
I have the following for my code for the undead superclass and the vampire subclass.
When I try running this on a website called coderunner; this website doesn't give me the main function and this question doesn't give me an example output.
I get the following error:
Syntax Error(s)
__Tester__.java:62: cannot find symbol
symbol : method setComesOut(java.lang.String)
location: class Undead
u.setComesOut("at anytime");
^
__Tester__.java:69: cannot find symbol
symbol : method setComesOut(java.lang.String)
location: class Vampire
v1.setComesOut("at night");
^
2 errors
I try this on ecclipse and there doesn't appear to be any errors. Any idea where the problem lies.
Edit:
The superclass Undead contains
A protected String variable food.
A private String variable comesOut.
Two constructors
- one takes no parameter.
- one takes a String parameter food and assigns this value to the variable food.
A public method setFood() that takes a String parameter and sets the variable food to the parameter's value.
A public method getFood() that returns the value of food.
A public method eats() that prints "The undead eats [food]".
A public method comesOut() that prints "The undead can come out [comesOut]".
The subclass Vampire contains
A private String variable name.
Three constructors.
- one takes no parameter.
- one takes a String parameter name and assigns this value to the variable name.
- one takes two String parameters name and food and sets the variables name and food to these values.
A public setName() method that takes a String parameter and sets name to the value of this parameter.
A public getName() method that returns the value of name.
A public method eats() that prints "[name] drinks [food]".
A public method comesOut() that prints "[name] comes out [comesOut]"
You need to add a method called "setComesOut" that takes a string as a parameter. This function should set the Undead variable "comesOut" to whatever parameter is given, similar to your "setName" or "setFood" methods.