《java》实验七理论+实践作业

一、理论作业

1、

在这里插入图片描述

2、

在这里插入图片描述

3、

在这里插入图片描述

4、

在这里插入图片描述

5、

在这里插入图片描述

6、

在这里插入图片描述

7、

在这里插入图片描述

final修饰其中的类是不能被继承的,以及其中的方法是不能被重写的。

abstract修饰的方法是抽象类,是可以被继承的,但是无法被实例化

abstract修饰的方法是抽象方法,没有函数体,可以被重写。

8、

good good

9、

抽象方法没有方法体 {
    
    } 
抽象类Employer不能被实例化

10、

public class Test {
    
    
    public static void main(String[] args) {
    
    
        Shape square = new Square();
        System.out.println("正方形的面积:"+square.area(2));
        Shape circle = new Circle();
        System.out.println("圆形的面积:"+circle.area(3));
    }
}

interface Shape {
    
    
    double area(double d);
}

class Square implements Shape {
    
    
    @Override
    public double area(double d) {
    
    
        return d*d;
    }
}

class Circle implements Shape {
    
    
    @Override
    public double area(double d) {
    
    
        return d*d*Math.PI;
    }
}

二、实验作业

实验作业
一共有三题

1、猫狗题

创建main.java,cat.java,dog.java,animal.java

Animal.java

package com.company;

public abstract class Animal {
    
    
    abstract void makeSound();
    abstract void whenHappy();
    abstract void whenAngry();
}


Dog.java

package com.company;

public class Dog extends Animal {
    
    

    @Override
    void makeSound() {
    
    
        System.out.println("Wrong");
    }

    @Override
    void whenHappy() {
    
    
        System.out.println("Tail up");
    }

    @Override
    void whenAngry() {
    
    
        System.out.println("Tail Down");
    }

    @Override
    public String toString(){
    
    
        return "Tail Up";
    }
}

Cat.java

package com.company;

public class Cat extends Animal{
    
    

    @Override
    void makeSound() {
    
    
        System.out.println("Meow");
    }

    @Override
    void whenHappy() {
    
    
        System.out.println("Tail Down");
    }

    @Override
    void whenAngry() {
    
    
        System.out.println("Tail Up");
    }

    @Override
    public String toString(){
    
    
        return "Tail Down";
    }
}

Main.java

package com.company;

import java.util.Scanner;

public class Main {
    
    
    public static void main(String[] args) {
    
    
        Animal[] animals = new Animal[5];
        animals[0] = new Dog();
        animals[1] = new Cat();
        animals[2] = new Dog();
        animals[3] = new Cat();
        animals[4] = new Cat();
        for (Animal animal : animals) {
    
    
            if (animal instanceof Cat){
    
    
                animal.whenAngry();
            }else{
    
    
                animal.whenHappy();
            }
        }
    }

}



2、啮齿动物前半部分

前半部分需要用抽象类实现,总共创建五个java文件

Rodent.java

package com.company;

public abstract  class Rodent {
    
    
    protected String kind;
    abstract String findFood();
    void chewFood(){
    
    
        System.out.println(kind+ "吃" + findFood());
    }
}

Mouse.java

package com.company;

public class Mouse extends Rodent {
    
    
    public Mouse(){
    
    
        this.kind = "老鼠";
    }
    @Override
    String findFood() {
    
    
        System.out.println(kind+"从仓库里偷食物");
        return "仓库里面偷来的大米";
    }
}

Gerbil.java

package com.company;

public class Gerbil extends  Rodent{
    
    
    public Gerbil(){
    
    
        this.kind = "鼹鼠";
    }
    @Override
    String findFood() {
    
    
        System.out.println(kind +  "挖洞寻食");

        return "地下昆虫";
    }
}

Hamster.java

package com.company;

public class Hamster extends Rodent{
    
    
    public Hamster(){
    
    
        this.kind = "黄金大颊鼠";

    }
    @Override
    String findFood() {
    
    
        System.out.println(kind + "等投喂");
        return "坚果、饲料";
    }
}

Main.java

package com.company;

import java.util.Scanner;
import java.util.logging.Handler;

public class Main {
    
    
    public static void main(String[] args) {
    
    
        Rodent[] rodents = new Rodent[3];
        rodents[0] = new Mouse();
        rodents[1] = new Gerbil();
        rodents[2] = new Hamster();
        for(Rodent rodent:rodents){
    
    
            rodent.chewFood();
        }
    }

}



3、啮齿动物后半部分

后半部分需要用接口实现,一共,七个java文件
Rodent.java

package com.company;

public interface Rodent {
    
    
    String findFood();
    void chewFood();
}


Flayable.java

package com.company;

public interface Flayable {
    
    
    void fly();
}

Mouse.java

package com.company;

public class Mouse implements Rodent {
    
    
    private String kind;
    public Mouse(){
    
    
        this.kind = "老鼠";
    }
    @Override
    public String findFood() {
    
    
        System.out.println(kind + "从仓库里偷食");
        return "仓库里面偷来的大米";
    }

    @Override
    public void chewFood() {
    
    
        System.out.println(kind + "吃" + findFood());
    }
}

Hamster.java

package com.company;

public class Hamster implements Rodent{
    
    
    private String kind;
    public Hamster(){
    
    
        this.kind = "黄金大颊鼠";

    }
    @Override
    public String findFood() {
    
    
        System.out.println(kind + "等投喂");
        return "坚果、饲料";
    }

    @Override
    public void chewFood() {
    
    
        System.out.println(kind + "吃" + findFood());
    }
}

Gerbil.java

package com.company;

public class Gerbil implements   Rodent{
    
    
    private final String kind;

    public Gerbil(){
    
    
        this.kind = "鼹鼠";
    }
    @Override
    public String findFood() {
    
    
        System.out.println(kind +  "挖洞寻食");

        return "地下昆虫";
    }

    @Override
    public void chewFood() {
    
    
        System.out.println(kind+"吃"+findFood());
    }
}

Ptereomyini.java

package com.company;

import com.company.Flayable;
import com.company.Rodent;

public class Pteromyini implements Rodent, Flayable {
    
    
    private  String kind;
    public Pteromyini(){
    
    
        this.kind = "鼯鼠";
    }
    @Override
    public void fly() {
    
    
        System.out.println("fly ---------!");
    }

    @Override
    public String findFood() {
    
    
        System.out.println(kind + "飞到树上找水果");
        return "树上的水果和昆虫";
    }

    @Override
    public void chewFood() {
    
    
        System.out.println(kind + "吃" + findFood());
    }


}

Main.java

package com.company;

import java.util.Scanner;
import java.util.logging.Handler;

public class Main {
    
    
    public static void main(String[] args) {
    
    
        Rodent[] rodents = new Rodent[4];
        rodents[0] = new Mouse();
        rodents[1] = new Gerbil();
        rodents[2] = new Hamster();
        rodents[3] = new Pteromyini();
        for (Rodent rodent : rodents) {
    
    
            rodent.chewFood();
            if (rodent instanceof Pteromyini){
    
    
                ((Pteromyini) rodent).fly();
            }
        }
    }


}



猜你喜欢

转载自blog.csdn.net/m0_37149062/article/details/124225332