java基础day07

对象和封装

构造方法

定义:与类同名,没有返回值类型

new 用来调用构造方法 (换句话实例化对象的时候调用构造方法)

构造方法允许重载

封装的概述

封装:private私有化成员属性,提供公开public的getter/setter

Getter:取值        Setter:赋值

案例

public class Pet {

    /**

扫描二维码关注公众号,回复: 3031418 查看本文章

     * 昵称

     */

    private String nickName;

    /**

     * 年龄

     */

    private int age;

    /**

     * 毛发颜色

     */

    private String color;

    /**

     * 品种

     */

    private String brand;

   

    public String getNickName() {

        return nickName;

    }

    public void setNickName(String nickName) {

        this.nickName = nickName;

    }

    public int getAge() {

        return age;

    }

    public void setAge(int age) {

        if(age>0 && age<20){

            this.age = age;

        }else{

            System.out.println("输入年龄不合法");

        }

    }

    public String getColor() {

        return color;

    }

    public void setColor(String color) {

        this.color = color;

    }

    public String getBrand() {

        return brand;

    }

    public void setBrand(String brand) {

        this.brand = brand;

    }

    /**

     * 构造方法

     */

    public Pet(String nickName,String brand){

        setNickName(nickName);

        setBrand(brand);

    }

    /**

     * 构造方法重载

     * @param nickName

     * @param age

     * @param color

     * @param brand

     */

    public Pet(String nickName, int age, String color, String brand) {

        setNickName(nickName);

        setAge(age);

        setColor(color);

        setBrand(brand);

    }

 

   

 

    /**

     * 发出声音

     */

    public void shut(){    

        System.out.println(nickName+"在叫唤....");

    }

 

    public void printInfo(){

        System.out.println(nickName+","+age+","+color+","+brand);

    }

    public void printInfo(String msg){

        System.out.println(msg);

    }

}

public class TestPet {

    public static void main(String[] args) {

        //创建对象

        //new 调用构造方法,实例化对象

        //编译器通过参数列表区分所调用构造方法

        Pet p1 = new Pet("喵喵",300000000,"白色","波斯");

        Pet p2=new Pet("豆豆","金毛");

        System.out.println(p1.getAge());//取值

        p1.setAge(78);//赋值

        //给属性赋值

//      p1.nickName="旺旺";

//      p1.age=3;

//      p1.color="金色";

//      p1.brand="金毛";

        //调用方法

        p1.shut();

        p1.printInfo();

        p1.printInfo("Hello World");

    }

}

 

猜你喜欢

转载自blog.csdn.net/Shi_Yuan_Csdn/article/details/81346710
今日推荐