java基础五 面向对象--封装

面向对象三大特点

  • 1.封装
  • 2.多态
  • 3.继承

封装的特点

  • 1.通过该类提供的方法实现对隐藏信息的操作和访问
  • 2.隐藏对象的信息
  • 3.留出访问的接口

封装的好处

  • 1.只能通过规定的方法访问数据
  • 2.隐藏类的实例细节,方便修改和实现

操作流程

  • 1.修改属性的可见性 设问private
  • 2.创建getter/setter方法 设为public,用于属性的读写
  • 3.在方法中加入属性控制语句

示例

类的创建

  package com.animal;
/***********
 * 宠物猫类
 */
public class Cat {
    // 成员属性:昵称、年龄、体重、品种
    // 修改属性的可见性 只能在当前类内访问  -- private
    private String name;
    int month;
    double weight;
    String species;
    // static:静态 静态成员,无论实例化多少对象,都会公用同一个存储空间
    // static 放到属性前,成员属性。放到方法前,类方法。推荐 类.方法/属性
    // 静态方法中,不能直接访问非静态资源,只能访问静态资源
    public static int price;

    public Cat(){
        System.out.println("宠物猫");
    }


    // 创建get/set方法
    // 在get/set方法中添加对属性的限定
    public void setName(String name){
        this.name = name;
    }

    public String getName () {
        return "我是一直名叫"+this.name;
    }


    public int getMonth() {
        return month;
    }

    public void setMonth(int month) {
        if (month < 1){
            System.out.println("输入信息错误,月份大于0");
        }else{
            this.month = month;
        }
    }

    // 方法:跑动、吃东西
    // 跑动
    public void run(){
        System.out.println("小猫跑");
    }
    public void run(String name){
        System.out.println(name + "的小猫快跑");
    }
    // 吃东西
    public void eat(){
        System.out.println("小猫吃鱼");
    }
}

类的使用

package com.test;   // 定义包
import com.animal.*;    // 加载包下所有类
import com.animal.Cat;    // 加载包下指定类

public class Test {
    public Test(){
        System.out.println("测试类");
    }
    public static void main(String[] args){
        Cat one = new Cat();
        one.setName("花花");
        one.setMonth(2);
        one.price = 20;

        Cat two = new Cat();
        two.setMonth(3);
        two.setName("中华田园猫");
        two.price = 500;
        // 静态资源 的访问方法 Cat.price = 3000;
        Cat.price = 3000;

        System.out.println(one.getName() + ' ' + one.getMonth() + ' ' + one.price);
        System.out.println(two.getName() + ' ' + two.getMonth() + ' ' + two.price);

    }
}

随机浏览