java
1import animal.*; 2import animal.*; 3import animal.zoo.Zoo; 4 5public class Main { 6 public static void main (String[] args) { 7 8 Cat cat = new Cat(); 9 Dog dog = new Dog(); 10 11 Zoo zoo = new Zoo(); 12 zoo.add(cat); 13 zoo.add(dog); 14 System.out.println(zoo.say()); 15 16 } 17}
java
1package animal; 2 3public class Cat extends Mammals { 4 public String say() { 5 return "Meow"; 6 } 7}
java
1package animal; 2 3public class Dog extends Mammals { 4 public String say() { 5 return "Bow wow"; 6 } 7} 8
java
1package animal; 2 3public abstract class Mammals { 4 5 public abstract String say(); 6 7 public String sleep() { 8 return "Sleeping"; 9 } 10}
java
1package animal.zoo; 2import animal.Mammals; 3 4public class Zoo { 5 Mammals[] mam = new Mammals[100]; 6 int i = 0; 7 UpdateListener up; 8 9 public void add(Mammals m) { 10 mam[i] = m; 11 i++; 12 if(this.up != null) 13 up.update(m); 14 } 15 16 public String say() { 17 String says = ""; 18 for(int j=0; j<i; j++) { 19 says += mam[j].say(); 20 } 21 return says; 22 } 23 24 public void setUpdateListener(UpdateListener u) { 25 this.up = u; 26 } 27} 28
java
1package animal.zoo; 2import animal.Mammals; 3 4public interface UpdateListener { 5 public void update(Mammals m); 6}
上記のコードで、Dog.java、Cat.java、Mammlals.Javaで「The declared package "animal" does not match the expected package ""」というエラーが出てきます。
原因わかる方いたら教えてください。
ちなみに、コンパイル段階ではなく、エディタに記述段階で波線が引かれてこのエラ〜メッセージが出てきます。
Javaディレクトリの中にDog.java、Cat.java、Mammlals.Javaそしてzooディレクトリが入っていて、zooディレクトリの中にZoo.java、UpdateListener.javaが入っています。