public class HelloWorld
{
    public static void main(String[] args)
    {
        Dog animal1 = new Dog();
        Cat animal2 = new Cat();
        Frog animal3 = new Frog();
       
        if(animal1.isMammal())
           System.out.println("狗是哺乳动物");
        else
           System.out.println("狗不是哺乳动物");

if(animal1.isCarnivorous())
           System.out.println("狗是肉食动物");
        else
           System.out.println("狗不是肉食动物");

System.out.println("狗通常的情况下,和人打招呼的方式为:" +animal1.sayHello());
        System.out.println("狗被抚摸情绪好的时候,打招呼的方式是: " +animal1.sayHello(Animal.COMFORTED));
        System.out.println("狗烦躁的时候,会: " +animal1.sayHello(Animal.SCARED));
        System.out.println("狗有" +animal1.getNumberOfLegs()+"条腿");

System.out.println();
        if(animal2.isMammal())
           System.out.println("猫是哺乳动物");
        else
           System.out.println("猫不是哺乳动物");

if(animal2.isCarnivorous())
           System.out.println("猫是肉食动物");
        else
           System.out.println("猫不是肉食动物");
       
        System.out.println("猫通常的情况下,和人打招呼的方式为: " +animal2.sayHello());
        System.out.println("猫情绪好的时候会: " +animal2.sayHello(Animal.COMFORTED));
        System.out.println("猫烦躁的时候会:" +animal2.sayHello(Animal.SCARED));
        System.out.println("猫有" +animal2.getNumberOfLegs()+"条腿");

System.out.println();
        if(animal3.isMammal())
           System.out.println("青蛙是哺乳动物");
        else
           System.out.println("青蛙不是哺乳动物");
       
        if(animal3.isCarnivorous())
           System.out.println("青蛙是肉食动物");
        else
           System.out.println("青蛙不是肉食动物");

System.out.println("青蛙通常的情况下,打招呼的方式为:" +animal3.sayHello());
        System.out.println("青蛙情绪好的时候会: " +animal3.sayHello(Animal.COMFORTED));
        System.out.println("青蛙受到惊吓是会:" +animal3.sayHello(Animal.SCARED));

if(animal3.getLaysEggs())
           System.out.println("青蛙产卵");
        else
           System.out.println("青蛙不产卵");

if(animal3.getGillFlag())
           System.out.println("青蛙有鳃");
        else
           System.out.println("青蛙没有鳃");
       
        System.out.println("青蛙有" +animal3.getNumberOfLegs()+"条腿");
   }
}

abstract class Animal
{
    // 下面的两个属性被声明为 public 类型的,而且是静态的

public static final int SCARED = 1;//情绪好
    public static final int COMFORTED = 2;//情绪不好,烦躁

//下面的属性被声明为保护类型的,允许在子类中访问
    protected boolean mammal = true; //是否哺乳动物属性
    protected boolean carnivorous = true; //是否食肉动物属性
    protected int mood = COMFORTED;//情绪属性

public boolean isMammal() //判断是否哺乳动物
    {
        return(mammal);
    }

public boolean isCarnivorous() //判断是否食肉动物
    {
        return(carnivorous);
    }

abstract public String sayHello(); //打招呼的方式,该方法是抽象的,所以必须在子类中实现
    abstract public String sayHello(int moodval);

public void setMood(int newValue) //设置情绪值
    {
        mood = newValue;
    }

public int getMood() //返回情绪值
    {
        return(mood);
    }
}

interface LandAnimal //陆生动物接口
{
    public int getNumberOfLegs(); //返回有多少只脚
}

interface WaterAnimal //水生动物接口
{
    public boolean getGillFlag(); //返回是否有腮
    public boolean getLaysEggs(); //返回是否产卵
}

class Dog extends Animal implements LandAnimal  //狗类继承自动物类,并实现陆生动物接口
{
    // 下面的属性被声明为私有的,并初始化。
    private int numberOfLegs = 4;

// 缺省构造函数确保属性能够正确设置
    public Dog()
    {
        mammal = true;  //是哺乳动物
        carnivorous = true;  //是食肉动物
    }

// 重载父类的方法
   public String sayHello()
   {
      return("摇摇尾巴");
   }

public String sayHello(int moodval)
   {
      this.setMood(moodval);
      switch (mood) {
        case SCARED:
          return("呜呜叫");
        case COMFORTED:
          return("旺旺旺叫");
       }
       return("摇摇尾巴");
   }

// 实现 LandAnimal接口

public int getNumberOfLegs()
    {
        return(numberOfLegs);
    }

}

class Cat extends Animal implements LandAnimal //猫类继承自动物类,并实现生活在陆地上的动物接口
{
    //声明并初始化猫的两个属性
    private int numberOfLegs = 4;
    private boolean tailFlag = true;

// 缺省构造函数
    public Cat()
    {
        mammal = true;
        carnivorous = true;
    }

// 重载父类的方法
    public String sayHello()
    {
       return("喵喵叫");
    }

public String sayHello(int moodval)
    {
        this.setMood(moodval);
        switch (mood) {
            case SCARED:
                return("嘶嘶叫");//如果情绪烦躁的话,就“嘶嘶叫”
            case COMFORTED:
                return("咕噜咕噜叫"); //如果情绪好的话,发出“咕噜咕噜”声
        }
        return("喵喵叫"); //如果情绪好的话,发出“喵~”声
    }

// 实现 LandAnimal接口
    public int getNumberOfLegs()
    {
        return(numberOfLegs);
    }

}

class Frog extends Animal implements LandAnimal, WaterAnimal
{
   
    //声明并初始化青蛙的四个属性
    private boolean gillFlag = true;
    private boolean laysEggs = true;
    private int numberOfLegs = 4;
    private boolean tailFlag = true;

//缺省构造函数
    public Frog()
    {
        mammal = false;
        carnivorous = false;
    }
    // 重写父类的“打招呼”的方法
    public String sayHello()
    {
       return("呱呱呱");
    }

public String sayHello(int moodval)
    {
        this.setMood(moodval);
        switch (mood) {
            case SCARED:
                return("扑通一声跳入水中");
            case COMFORTED:
                return("呱呱呱");
        }
        return("呱呱呱");
    }

// 实现 WaterAnimal接口

public boolean getGillFlag()
    {
        return(gillFlag);
    }

public boolean getLaysEggs()
    {
        return(laysEggs);
    }

// 实现 LandAnimal接口

public int getNumberOfLegs()
    {
        return(numberOfLegs);
    }

}

HelloWorld--JAVA程序相关推荐

  1. vscode运行helloworld.java程序

    摘要:常见的开发java程序的IDE有很多种,本文推荐vscode来运行一些简单的java程序,例如helloworld.只需要简单的几步,就可以使vscode运行helloworld.java.老生 ...

  2. HelloWord以及Java程序运行原理

    目录 第一个Java程序,HelloWorld Java程序是如何运行的 第一个Java程序,HelloWorld 创建文件 HelloWorld.java(文件名需与类名一致) public cla ...

  3. ultraedit运行java_如何在UltraEdit中编译和运行Java程序

    如何在UltraEdit中编译和运行Java程序 (2011-07-28 12:33:52) 标签: it 问题提出: 可以毫不夸张地说,JDK+UltraEdit是面向Java初学者的开发工具的绝配 ...

  4. 第一个java程序helloworld —(2)

    1.开发体验--HelloWorld 1.1 编写 创建一个java源文件:HelloWorld.java class HelloChina{public static void main(Strin ...

  5. java dos编译命令是什么_在DOS命令行状态下,如果源程序HelloWorld.java在当前目录下,那么编译该程序的命令是()...

    [单选题]下列行为中,属于绝对商行为的是 [填空题]汽车故障的变化规律可分为3个阶段,早期故障期. 和 . [填空题]无分电器点火线圈与一般点火线圈不同,其 与 没有连接,为互感作用. [简答题]练习 ...

  6. HelloWorld.java –打印Hello World的Java程序

    Java Beginners的第一个示例程序用于打印Hello World. 1.简介 在本教程中,我们将学习如何在java中打印" Hello World" . 对于编程语言的初 ...

  7. [转载] 【Java】基础06:HelloWorld入门程序

    参考链接: 从Hello World示例开始Java编程 HelloWorld它的中文意思是:"你好,世界". 仿佛代表着计算机对世界说出来的第一句话,因为它简洁实用,所以被作为入 ...

  8. 编写第一个Java程序:helloworld

    配置好java开发环境后,我们可以编写第一个java程序(helloworld). 在开始编写java程序时,我们要知道java程序开发的三个步骤:编写.编译.运行. 编写阶段主要是由程序员编写后缀为 ...

  9. dos命令为java程序赋值_在DOS命令行状态下,如果源程序HelloWorld.java在当前目录下,那么编译该程序的命令是() (5.0分)_学小易找答案...

    [判断题]run方法是运行线程的主体,若run方法运行结束,线程就消亡了 [单选题]在Java 程序中,下面哪个是不合法的标识符() (5.0分) [其它]请提交实验二压缩包 [单选题]在DOS命令行 ...

  10. 第一个java程序HelloWorld

    接上集:java背景知识及java环境搭建​​​​​​​ 转载请注明出处:https://blog.csdn.net/u014254481/article/details/81943950 一.各类注 ...

最新文章

  1. Android开源框架ImageLoader的完美例子
  2. httpHandlers使用和问题
  3. js使用defineProperty的一些坑
  4. sql server 2005单独添加mdf文件
  5. 旧计算机 云桌面,该不该利用旧PC机改造成云桌面虚拟化模式呢?
  6. 使用JsonConfig控制JSON lib序列化
  7. 安卓马赛克view_Android马赛克效果MosaicView
  8. 组件加name属性_从零开始学习React-属性绑定(三)
  9. 我的世界HMCL如何安装Java_Ubuntu 18.04 LTS 使用 Minecraft 我的世界第三方启动器 HMCL...
  10. 新坑:基于AD9361的手持监测侦察接收机
  11. Mac系统下使用cd命令无法进入目录
  12. 测量脉冲宽度仿真proteus
  13. 一法通 万法通 (清)吴獬 著
  14. Java使用PDFBox API实现对PDF文档进行关键字检索
  15. 短信工具类 SmsUtil
  16. Ajax上传视频文件
  17. Java实现 LeetCode 383 赎金信
  18. 打印机服务器虚拟端口,打印机服务器虚拟端口设置
  19. 技术科普:虚拟现实系统
  20. Java题目详解——LeetCode20.有效的括号

热门文章

  1. cad net 绘制带圆弧的多段线
  2. wkhtmltopdf使用指南,html转图片,转pdf
  3. 深度学习语义分割论文笔记(待完善)
  4. html与css入门经典doc,HTML+CSS入门 flying-saucer如何利用HTML来生成PDF文件
  5. APIC Timer
  6. 5个方法将不带www的根域名301重定向到www主域名
  7. 解决win10系统网络连接正常,但是网页打不开的问题
  8. 大学生信息安全(学习笔记一)
  9. 十余种漂亮照片边框简单制作技巧
  10. 大数据同步利器: 表格存储全增量一体消费通道 1