java简单标准类制作(封装)

  • 封装
  • private关键字
  • this关键字
  • 方法构造
  • 标准类制作
  • 构造类——封装相应的数据
  • 测试类


封装

封装:
   即一种将抽象性函式接口的实现细节部分隐藏(在方法中提供相应的对象、对象相关数据及对应行为)起来的一种包装方法。
作用:
   封装可以保护该方法中的对象及数据,防止被外部类定义的代码随机访问。
优点 :
   1. 使代码模块化
   2. 实现类内部自由修改
   3. 能提高代码的复用性
   4. 隐藏实现细节及内部数据,提高代码安全性
封装:方法封装、属性封装、类的封装、组件封装、模块化封装、系统级封装等

类:
   类是对现实生活中一类具有共同属性和行为的事物的抽象集合(如手机,动物)
   类是java编程的基本组成单位

java类的数据类型及功能:
   1. 类是引用型数据类型
   2. 类简化了开发者对程序的维护和修改
   3. 类使程序开发模块化
   4. 一个简单类包含成员变量及成员方法
对象: 是能够看得到摸得着的真实存在的实体

private关键字

private关键字
  一个权限修饰符
  修饰成员(成员变量和成员方法)
private关键字作用:保护成员不被别的类使用,被private修饰的成员只在本类中才能访问

this关键字

当局部变量与成员变量相同(数据类型和变量名)时,局部变量要用this关键字修饰(以区分成员变量与局部变量)

① this指代成员变量
② 解决局部变量隐藏成员变量
③ 代表所在类的对象引用

注:方法的形参没有与成员变量同名时,不带this修饰的变量指的是成员变量

  • 类是对象的抽象
  • 对象是类的实体

方法构造

public class类名{

   ⁄⁄ 成员变量

   变量1的数据类型变量1;

   变量2的数据类型变量2;

   ⁄⁄ 成员方法

   方法1;

   方法2;

   }

标准类制作

①成员变量
  使用private修饰
②构造方法
  手动提供一个无参构造方法
  提供一个带多个参数的构造方法
③成员方法
  给每一个成员变量一个setXxx(getXxx)及显示对象信息的show0方法

构造类——封装相应的数据

// 标准类
public class EntirMethod {
    // 成员变量
    private String brand;
    private int num;
    private double price;

    // 构造方法(手动无参)
    public EntirMethod() {

    }

    // 有参
    public EntirMethod(String brand, int num, double price) {
        this.brand = brand;
        this.num = num;
        this.price = price;
    }

    // 提供变量应对方法
    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getBrand() {
        return brand;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public int getNum() {
        return num;
    }

    public void setPrice(double prince) {
        this.price = prince;
    }

    public double getPrice() {
        return price;
    }

    // 提供show方法
    public void show() {
        System.out.println(brand + "@牌," + num + "部,单部售价" + price + "元");
    }
}

测试类

public class Demo17_EntirCreateMethod {
    public static void main(String[] args) {
        // 1. 无参构造
        EntirMethod e = new EntirMethod();
        e.setBrand("华为");
        e.setNum(50000);
        e.setPrice(4899.98);
        e.show();

        // 直接创建
        EntirMethod e1 = new EntirMethod("小米", 6000, 3266.98);
        e1.show();

    }
}
  • 运行结果
华为@牌,50000部,单部售价4899.98元
小米@牌,6000部,单部售价3266.98元