JAVA面对对象的程序设计

创建一个类MyFavor用于描述你个人喜好的一类东西,必须包含至少三个属性用于描述清楚该爱好,至少两个方法和至少两个构造器,同时写测试类,测试该类中的所有构造器、方法和属性。(求详细完整代码,可写我喜欢的动物或者游戏)

/*
标准类的制作
*/
/*
MyFavor
*/
public class MyFavor {
//成员变量,private修饰
    private String name;//名字
    private int age;//年龄
    private String breeds;//品种
    private String food;//喜欢的食物
//构造方法



    //提供一个无参构造方法
    public MyFavor(){

    }

    //提供一个带多个参数的构造方法
    public MyFavor(String name, int age, String breeds, String food) {
        this.name = name;
        this.age = age;
        this.breeds = breeds;
        this.food = food;
    }

    //成员方法
    //提供每一个成员变量对应的set方法、get方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getBreeds() {
        return breeds;
    }
    public void setBreeds(String breeds) {
        this.breeds = breeds;
    }
    public String getFood() {
        return food;
    }
    public void setFood(String food) {
        this.food = food;
    }

    //提供现实对象的show()
    public void show(){
        System.out.println("名字:"+name+"\n"+"年龄:"+age+"\n"+"品种:"+breeds+"\n"+"喜欢吃的食物:"+food);
    }
    //提供一个方法run()
    public void run(){
        System.out.println(name+"最喜欢奔跑!");
    }
    //提供一个方法eat()
    public void eat(){
        System.out.println(name+"最喜欢吃"+food);
    }
}
/*
MyFavorTest测试类
*/
public class MyFavorTest {
    public static void main(String[] args) {
        //调用无参构造方法
        MyFavor s1=new MyFavor();
        s1.setName("德牧");
        s1.setAge(1);
        s1.setBreeds("大型牧羊犬");
        s1.setFood("牛肉");
        s1.show();//调用show()方法
        s1.run();//调用run()方法
        s1.eat();//调用eat()方法
        System.out.println("----------分割线-----------");
        //调用有参构造方法
        MyFavor s2=new MyFavor("二哈",2,"西伯利亚雪橇犬","大鱼大肉");
        s2.show();//调用show()方法
        s2.run();//调用run()方法
        s2.eat();//调用eat()方法
    }
}

运行结果截图:

img

public class MyFavor{
    //属性
    String name;//名称
    int age;//年龄
   String type;//类型
    //方法
    void bark(){  // 汪汪叫
        System.out.println("汪汪,不要过来");
    }
 
    void hungry(){  // 饥饿
        System.out.println("主人,我饿了");
    }
  //构造方法
    MyFavor(String name1, int age1,String type1){
        name = name1;
        age = age1;
        type=type1;
        System.out.println("感谢主人领养了我");
    }
    MyFavor(){}
}
//测试
public class text{
  public static void main(String arg[]){
        // 创建对象时传递的参数要与构造方法参数列表对应
        MyFavor myDog = new MyFavor("花花", 3,"中华田园犬");
        myDog.hungry();

        MyFavor myDog1 = new MyFavor();
        myDog1.name="小满";
        myDog1.age =5;
        myDog1.type="阿拉斯加";
        myDog1.bark();
    }
}

package com.test;

/**
 * @program: myTest
 * @description: 创建一个类MyFavor用于描述你个人喜好的一类东西,必须包含至少三个属性用于描述清楚该爱好,至少两个方法和至少两个构造器,同时写测试类,测试该类中的所有构造器、方法和属性
 */
public class MyFavor {
    private String name;
    private String skill;
    private String skin;

    public MyFavor() {
    }

    public MyFavor(String name, String skill) {
        this.name = name;
        this.skill = skill;
    }

    public MyFavor(String name, String skill, String skin) {
        this.name = name;
        this.skill = skill;
        this.skin = skin;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSkill() {
        return skill;
    }

    public void setSkill(String skill) {
        this.skill = skill;
    }

    public String getSkin() {
        return skin;
    }

    public void setSkin(String skin) {
        this.skin = skin;
    }
    @Override
    public String toString() {
        return "MyFavor{" +
                "name='" + name + '\'' +
                ", skill='" + skill + '\'' +
                ", skin='" + skin + '\'' +
                '}';
    }

    public static void main(String[] args) {
        MyFavor myFavor = new MyFavor();
        myFavor.setName("Garen");
        System.out.println(myFavor.getName());
        myFavor.setSkill("qwerdf");
        System.out.println(myFavor.getSkill());
        myFavor.setSkin("zhang liao");
        System.out.println(myFavor.getSkin());

        MyFavor myFavor1 = new MyFavor("Jarvan IV","qwerdf");
        System.out.println(myFavor1);
        MyFavor myFavor2 = new MyFavor("Jarvan IV","qwerdf", "Lv Bu");
        System.out.println(myFavor2);
    }
}

package com.ls.cn.Test;

/**
 * 
 * @ClassName: MyFavor
 * @Description: 创建一个类MyFavor用于描述你个人喜好的一类东西, 必须包含至少三个属性用于描述清楚该爱好,
 *               至少两个方法和至少两个构造器,同时写测试类, 测试该类中的所有构造器、方法和属性。(求详细完整代码,可写我喜欢的动物或者游戏)
 * @author lenovo
 * @date 2021年10月13日
 *
 */
public class MyFavor {
    private String name;
    private String eatFood;
    private String run;

    // 属性的get和set方法可以给属性赋值和取出来值
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEatFood() {
        return eatFood;
    }

    public void setEatFood(String eatFood) {
        this.eatFood = eatFood;
    }

    public String getRun() {
        return run;
    }

    public void setRun(String run) {
        this.run = run;
    }

    // 构造器 不传值构造器
    // 相同的构造器的名字,不同数量的传参叫重载方法
    public MyFavor() {

    }

    // 构造器 传单一值
    public MyFavor(String name) {
        this.name = name;

    }

    // 构造器 传两个值
    public MyFavor(String name, String eatFood) {
        this.eatFood = eatFood;

    }

    // 构造器 传全部值
    public MyFavor(String name, String eatFood, String run) {
        this.name = name;
        this.eatFood = eatFood;
        this.run = run;
    }

    // 重写父类Object的toString方法
    public String toString() {
        return "我最爱的是小猫,它的名字是" + name + ",爱吃的食物是" + eatFood + ",它跑的" + run;
    }

}


package com.ls.cn.Test;

/**
 * 
 * @ClassName: Test11
 * @Description: 测试类
 * @author lenovo
 * @date 2021年10月13日
 *
 */
public class Test11 {

    public static void main(String[] args) {

        // 我有一个最爱的动物(调用无参构造器)
        MyFavor myfavor = new MyFavor();

        // 它的名字叫小花(给name属性赋值)
        myfavor.setName("小花");

        // 它最爱的食物是鱼(给eatFood属性赋值)
        myfavor.setEatFood("鱼");

        // 它跑的很快(给run属性赋值)
        myfavor.setRun("很快");

        System.out.println(myfavor.toString());

        // 调用传参的构造器
        MyFavor myfavor2 = new MyFavor("小咪", "火腿", "比小花慢");
        System.out.println(myfavor2);
    }

}