Java面向对象之get/set方法+带参构造函数+static变量/常量

问题

运用面向对象思想抽象出Dog类和Penguin类
类型:狗 企鹅
属性:昵称 健康值 性别 品种
行为:输出信息
添加默认构造方法

Dog类

import java.util.Scanner;

public class Dog {

    private String name;
    private double health;//健康值
    private String gender;//性别
    private String class_name;//品种
    
	public Dog(){


    }
    public Dog(String name,double health,String gender,String class_name){

        setName(name);
        setHealth(health);
        setGender(gender);
        setClass_Name(class_name);

    }

    public String getName(){

        return this.name;
    }

    public void setName(String name){

        this.name = name;
    }

    public double getHealth(){

        return this.health;
    }

    public void setHealth(double health){

        Scanner sc = new Scanner(System.in);
        if(health >= 1 && health <= 100){

            this.health = health;
        }
        else{

            System.out.print("健康值输入无效,应在1到100之间!请重新输入:");
            health = sc.nextDouble();
            setHealth(health);
        }

    }

    public String getGender(){

        return this.gender;
    }

    public void setGender(String gender){

        this.gender = gender;
    }

    public String getClass_Name(){

        return this.class_name;
    }

    public void setClass_Name(String class_name){

        this.class_name = class_name;
    }

    public void introduce(){

        System.out.print("狗昵称:" + getName() + "\t健康值:" + getHealth() + "\t性别:" + getGender() + "\t品种:" + getClass_Name());
    }
}


打印Dog信息

– 增加带参构造方法,使用带参构造方法创建对象
▪ 传入昵称、品种、健康值,性别参数
▪ 打印宠物信息
– 要保证健康值的有效性(在1到100之间)

public class TestDog {

    public static void main(String[] args){

        Dog dog = new Dog("大黄",102,"男","萨摩耶");
        dog.introduce();
    }

}

输出

健康值输入无效,应在1100之间!请重新输入:109
健康值输入无效,应在1100之间!请重新输入:309
健康值输入无效,应在1100之间!请重新输入:89
狗昵称:大黄	健康值:89.0	性别:男	品种:萨摩耶

操作企鹅性别属性

▪ 需求说明:
– 给Penguin类提供SEX_MALE和SEX_FEMALE两个静态常量,
分别取值“Q仔”戒“Q妹”

企鹅类

public class Penguin {

    private String name;
    private double health;//健康值
    private String gender;//性别
    private String class_name;//品种

    static final String SEX_MALE = "Q仔";
    static final String SEX_FEMALE = "Q妹";

    public Penguin(){


    }

    public Penguin(String name,double health,String gender,String class_name){

        setName(name);
        setHealth(health);
        setGender(gender);
        setClass_Name(class_name);
    }

    public String getName(){

        return this.name;
    }

    public void setName(String name){

        this.name = name;
    }

    public double getHealth(){

        return this.health;
    }

    public void setHealth(double health){

        if(health >= 1 && health <= 100){

            this.health = health;
        }
        else{

            System.out.println("健康值输入无效,应在1到100之间!");
        }

    }

    public String getGender(){

        return this.gender;
    }

    public void setGender(String gender){

        this.gender = gender;
    }

    public String getClass_Name(){

        return this.class_name;
    }

    public void setClass_Name(String class_name){

        this.class_name = class_name;
    }

    public void introduce(){

        System.out.print("企鹅昵称:" + getName() + "\t健康值:" + getHealth() + "\t性别:" + getGender() + "\t品种:" + getClass_Name());
    }
}

– 修改Test类,使用静态常量对性别进行赋值

public class TestDog {

    public static void main(String[] args){

        Penguin penguin= new Penguin("小白",98,Penguin.SEX_MALE,"南极企鹅");
        penguin.introduce();

    }

}

企鹅昵称:小白	健康值:98.0	性别:Q仔	品种:南极企鹅

– 修改企鹅的性别只能取值“雄”或“雌”,通过修改静态变量实现该需求

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值