package text;
import text.接口总归处.Pet;
class Cat extends Animal implements Pet{
private String name;
public Cat(String name)
{
super(4);
this.name = name;
}
public Cat(){
this("");
legs = 4;
}
@Override
public String getName() {
return name;
}
@Override
public void setName(String name) {
this.name = name;
}
@Override
public void play() {
System.out.println("你的宠物正在和你玩");
}
@Override
void eat() {
System.out.println("你的宠物,正在吃东西");
}
}
class start{
public static void main(String[] args) {
Cat dog = new Cat();
dog.setName("dog");
dog.play();
System.out.println(dog.getName());
dog.eat();
dog.setName("asd");
System.out.println(dog.getName());
System.out.println(dog.legs); //问题就出在这:他能成功编译,所以说能访问我设定的protected的内容
}
}
这是接口与父类
接口:
package text.接口总归处;
public interface Pet{
String getName();
void setName(String name);
void play();
}
父类:
package text;
public class Animal类 {
}
abstract class Animal{
protected int legs;
public Animal(int l){
legs = l;
}
abstract void eat();
public void walk(){
System.out.println("Use how mang legs to walk?" );
System.out.println( this.legs);
}
}
求解答!