我已经检查了几篇有关打印方式的文章,但找不到可以解决我的问题的文章。因此,我需要在Java中创建一个带有一些动物的动物园,所以我做了几个步骤。我从主要阶级动物开始:
Animal.java
public class Animal {
public static String name;
public static String species;
public static int age;
Animal(){
}
public Animal(String name, String species, int age) {
Animal.name=name;
Animal.species=species;
Animal.age=age;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
private static void printInfo() {
System.out.println("Name: " + name + ", Age:"+age +", Species: " + species);
// TODO Auto-generated method stub
}
}
比子类:
Elephant.java:
public class Elephant extends Animal {
public Elephant() {
}
Elephant(String name, int age, String species) {
super(name, species, age);
// TODO Auto-generated constructor stub
}
}
狮子java:
public class Lion extends Animal {
public Lion() {
}
Lion(String name, int age, String species) {
super(name, species, age);
// TODO Auto-generated constructor stub
}
}
panda.java:
public class Panda extends Animal {
public Panda() {
}
Panda(String name, int age, String species) {
super(name, species, age);
// TODO Auto-generated constructor stub
}
}
和子类的子类:儿童1。java
public class ElleElephantChild extends Elephant {
public ElleElephantChild() {
}
ElleElephantChild(String name, int age, String species){
Animal.name = "Elle";
Animal.age=0;
Animal.species=species;
// TODO Auto-generated constructor stub
}
}
child2.java:
public class SpotPandaChild extends Panda {
public SpotPandaChild() {
}
SpotPandaChild(String name, int age, String species){
Animal.name = "Spot";
Animal.age=0;
Animal.species=species;
// TODO Auto-generated constructor stub
}
}
所以我试图在动物类信息中打印出来:名称,物种和年龄。但是获取此错误:
Error: Main method not found in class Animal, please define the main method as:
public static void main(String[] args)
我认为我缺少重点,有人可以帮忙吗?谢谢
这是我如何实现这样的事情的一个示例:
public class Animal {
public String name; //not static!Static means that one variable is shared among all instances of a class, which is not what you want here presumably
public String species;
public int age;
public Animal(String name, String species, int age) { //this is okay
this.name=name;
this.species=species;
this.age=age;
}
public static void main(String[]args){
Animal thisAnimal = new Animal("Hungry Hippo", "Hippopotamus", 5);
//thisAnimal is an INSTANCE of the animal class, and will be created when you run the program. (whatever is in your main method is what gets run.)
}
}
如果要创建扩展动物类的动物:
public class Panda extends Animal {
public Panda(String name, int age, String species) {
super(name, species, age);
// TODO Auto-generated constructor stub
}
}然后,您不想创建一个熊猫班实例的熊猫对象,而不是创建Spotpandachild类,并称为Spotpandachild:前任。在您的主要方法中:
Panda SpotPandaChild = new Panda("Spot", 0, "Pandaus Nonhumanus");
我希望这对您有所澄清!
谢谢大家的有用评论和反馈!我修复了它及其工作。