把其他自定义类作为属性

 先创建一个类

package cn.hp10;

public class Dog {
    private String name;
    private String type;

    public String getName() {
        return name;
    }

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

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Dog(String name, String type) {
        this.name = name;
        this.type = type;
    }

    public Dog() {
    }
}

 把第一个类中当作这里的属性

​
package cn.hp10;

import java.util.Scanner;

public class Person {
    private  String name;
    private Dog dog;

    public String getName() {
        return name;
    }

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

    public Dog getDog() {
        return dog;
    }

    public void setDog(Dog dog) {
        this.dog = dog;
    }

    public Person() {
    }

    public Person(String name) {
        this.name = name;
    }
//领养狗
    public void lingyang(Dog dog){
        System.out.println(this.name+"领养了"+dog.getType()+"品种的狗");
        //把要领养的狗设置到Person类中
        this.dog=dog;
    }
    //给领养的狗设置名字
    public void names(){
        if (this.dog==null){
            System.out.println("去领养一只吧");
        return;
        }
        System.out.println("请输入狗狗的新名字");
      String dogname =  new Scanner(System.in).next();
      this.dog.setName(dogname);
    }
    //介绍自己领养的狗
    public void jieshao(){
        System.out.print("我叫"+name+"我有一条"+this.dog.getType());
        System.out.println("品种的宠物狗,名字叫"+this.dog.getName());
    }
}

​

 编写以一个测试类

package cn.hp10;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        //创建狗狗
        Dog a = new Dog(null,"德牧");
        Dog b = new Dog(null,"哈士奇");
        Dog c = new Dog(null,"藏獒");
        Dog d = new Dog(null,"中华田园犬");

        //创建人类
        Person A = new Person("哈哈哈");
        Person B = new Person("嘿嘿嘿");

        A.lingyang(a);
        A.names();
        A.jieshao();

        B.lingyang(c);
        B.names();
        B.jieshao();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值