Java中的类编程请诸君作答

定义Animal父类,含有属性name,sex,age,方法sleep,run,编写一个子类Person,继承Animal类,然后调用父类的属性和方法。

// 定义Animal类
public class Animal {
    // 定义属性
    private String name;
    private String sex;
    private int age;
    
    // 构造函数
    public Animal(String name, String sex, int age) {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }
    
    // 定义方法
    public void sleep() {
        System.out.println(name + " is sleeping.");
    }
    
    public void run() {
        System.out.println(name + " is running.");
    }
    
    // getter和setter方法
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getSex() {
        return sex;
    }
    
    public void setSex(String sex) {
        this.sex = sex;
    }
    
    public int getAge() {
        return age;
    }
    
    public void setAge(int age) {
        this.age = age;
    }
}

// 定义Person子类,继承Animal类
public class Person extends Animal {
    // 构造函数
    public Person(String name, String sex, int age) {
        super(name, sex, age);  // 使用 super 关键字调用父类的构造函数
    }
    
    // 调用父类的方法
    public void doSomething() {
        sleep();    // 调用父类的 sleep 方法
        run();      // 调用父类的 run 方法
    }
}

// 测试
public class Test {
    public static void main(String[] args) {
        Person person = new Person("Tom", "male", 20);
        System.out.println(person.getName());
        System.out.println(person.getSex());
        System.out.println(person.getAge());
        person.doSomething();
    }
}


上述代码中,定义了一个 Animal 父类,包含了属性和方法。然后定义了一个 Person 子类,继承了 Animal 父类,并用 super 关键字调用了父类的构造函数来初始化属性。
在子类 Person 中也定义了一个 doSomething() 方法,该方法调用了父类的 sleep() 和 run() 方法。

在测试类 Test 中,我们创建了一个 Person 对象,并调用了其属性和方法,其中 getName()、getSex()、getAge() 方法是从 Animal 其父类继承来的,而 doSomething() 方法则是从 Person 子类中继承来的。

最后附上输出结果:

Tom
male
20
Tom is sleeping.
Tom is running.