想知道现在的代码逻辑有问题吗?

img

img

img


请问现在已写的代码有什么逻辑问题吗?希望能够给予一些参考和意见

img

望采纳。有以下几个问题:

  • 在 Animal 类的构造方法中, sex=false; 应该改为 this.sex = false; 。
  • 在 Animal 类的 Introduce 方法中, if (sex=false){ 应该改为 if (sex == false){ 。
  • 在 Dog 类的构造方法中, sex=true; 应该改为 super.setSex(true); 。
  • 在 Dog 类的 Introduce 方法中, if (sex=true){ 应该改为 if (super.getSex() == true){ 。

修改后的代码如下:

class Animal {
private boolean sex;
private int age;

public Animal(boolean sex, int age) {
    this.sex = false;
    this.age = age;
}

public boolean getSex() {
    return sex;
}

public void setSex(boolean sex) {
    this.sex = sex;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

public void Introduce() {
    if (sex == false) {
        System.out.println("This is a male Animal!");
    } else {
        System.out.println("This is a female Animal!");
    }
}
}

class Dog extends Animal {
public Dog(boolean sex, int age) {
    super(sex, age);
    super.setSex(true);
}

public void Introduce() {
    if (super.getSex() == true) {
        System.out.println("This is a male Dog!");
    } else {
        System.out.println("This is a female Dog!");
    }
}
}

public class AnimalTest {
public static void main(String[] args) {
Animal ani = new Animal(false, 10);
ani.Introduce();

    Dog dog = new Dog(true, 5);
    dog.Introduce();
}
}

代码用控件提交,不然你这谁也看不了