亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java 封装

Java 封装

在本教程中,您将通过示例了解 Java 中的封装和数据隐藏。

Java 封装

封装是面向对象编程的关键特性之一。封装是指将字段和方法捆绑在一个类中。

它防止外部类访问和更改类的字段和方法。这也有助于实现数据隐藏 .


示例 1:Java 封装

class Area {

  // fields to calculate area
  int length;
  int breadth;

  // constructor to initialize values
  Area(int length, int breadth) {
    this.length = length;
    this.breadth = breadth;
  }

  // method to calculate area
  public void getArea() {
    int area = length * breadth;
    System.out.println("Area: " + area);
  }
}

class Main {
  public static void main(String[] args) {

    // create object of Area
    // pass value of length and breadth
    Area rectangle = new Area(5, 6);
    rectangle.getArea();
  }
}

输出

Area: 30

在上面的例子中,我们创建了一个名为 Area 的类 .这个类的主要目的是计算面积。

要计算面积,我们需要两个变量:length宽度 和一个方法:getArea() .因此,我们将这些字段和方法捆绑在一个类中。

在这里,也可以从其他类访问字段和方法。因此,这不是数据隐藏 .

这只是封装 .我们只是将相似的代码放在一起。

注意 :人们经常将封装视为数据隐藏,但这并不完全正确。

封装是指将相关领域和方法捆绑在一起。这可以用来实现数据隐藏。封装本身并不是数据隐藏。


为什么要封装?


数据隐藏

数据隐藏是一种通过隐藏实现细节来限制我们的数据成员访问的方法。封装还提供了一种数据隐藏方式。

我们可以使用访问修饰符来实现数据隐藏。例如,

示例 2:使用私有说明符隐藏数据

class Person {

  // private field
  private int age;

  // getter method
  public int getAge() {
    return age;
  }

  // setter method
  public void setAge(int age) {
    this.age = age;
  }
}

class Main {
  public static void main(String[] args) {

    // create an object of Person
    Person p1 = new Person();

    // change age using setter
    p1.setAge(24);

    // access age using getter
    System.out.println("My age is " + p1.getAge());
  }
}

输出

My age is 24

在上面的例子中,我们有一个 private 字段 年龄 .既然是private , 不能从类外访问。

为了访问 age ,我们使用了 public 方法:getAge()setAge() .这些方法称为 getter 和 setter 方法。

制作年龄 private 允许我们限制来自课堂外的未经授权的访问。这是数据隐藏 .

如果我们尝试访问 age Main 中的字段 类,我们会得到一个错误。

// error: age has private access in Person
p1.age = 24;

java

  1. Java 数据类型(原始)
  2. Java 运算符
  3. Java 评论
  4. Java for-each 循环
  5. Java 字符串
  6. Java this 关键字
  7. Java 接口
  8. Java try-with-resources
  9. Java 注释
  10. Java 类型转换
  11. Java - 基本数据类型
  12. Java - 封装