Java封装调用实例之封装概述
封装是Java的三大特性之一,它是面向对象编程的重要概念。封装主要是把类的属性和方法隐藏在类的内部,通过对外提供公共方法来访问和操作这些属性和方法。在Java中,使用private、public、protected关键字来实现封装。
封装的优点主要有:
- 保证程序的安全性,防止程序中不该访问的属性和方法被误操作;
- 保证程序的可维护性,当需要修改属性或方法时,只需要改变类的内部实现即可,而不用修改外部程序的实现;
- 提高了对象的内聚性,把类的属性和行为集中在一起,利于代码组织和维护。
Java封装调用实例之封装示例
下面通过一个简单的封装示例来演示Java中的封装。
假设我们有一个学生类(Student),它有姓名、年龄和性别三个属性,还有一个getInfo方法可以返回学生的基本信息。我们定义学生姓名为私有属性,防止外部访问和修改。代码如下:
```java
public class Student {
private String name;
public int age;
public String gender;
public String getInfo() {
return "姓名:" + name + ",年龄:" + age + ",性别:" + gender;
}
public void setName(String name) {
this.name = name;
}
}
```
在这个示例中,getInfo方法返回学生的基本信息,但是姓名是私有属性,外部无法直接访问。我们在类中添加了一个setName方法,用来设置姓名属性。这样外部程序就可以通过调用setName方法来设置学生的姓名了。
下面给出一个具体的示例:
```java
public class Main {
public static void main(String[] args) {
Student s = new Student();
s.setName("张三");
s.age = 20;
s.gender = "男";
System.out.println(s.getInfo());
}
}
```
运行上面的示例代码,输出结果为:
```
姓名:张三,年龄:20,性别:男
```
从输出结果可以看到,我们在调用setName方法设置了学生的姓名属性,并且成功获取了学生的基本信息。
Java封装调用实例之封装与继承
在Java中,当子类继承父类时,父类中的私有属性和方法是无法被子类直接访问的,即使子类有相同的属性和方法名也不能直接覆盖父类的私有属性和方法。
在这种情况下,我们可以使用protected关键字来实现封装与继承的结合。protected关键字是介于private和public之间的访问修饰符,表示该属性和方法只能被类本身和其子类所访问。
下面给出一个具体的示例:
```java
public class Parent {
private String name;
protected int age;
public void setName(String name) {
this.name = name;
}
}
public class Child extends Parent {
public void setAge(int age) {
this.age = age;
}
}
```
在这个示例中,父类Parent中定义了一个私有属性name和一个受保护的属性age,并提供了一个公共方法setName来设置属性name,子类Child继承自父类Parent,并提供了一个公共方法setAge来设置属性age,由于age被定义为protected属性,所以子类Child可以直接访问并修改它的值。
下面给出一个具体的示例:
```java
public class Main {
public static void main(String[] args) {
Child c = new Child();
c.setName("张三");
c.setAge(20);
System.out.println(c.age);
}
}
```
运行上面的示例代码,输出结果为:
```
20
```
从输出结果可以看到,我们在子类Child中成功访问了父类Parent中定义的受保护属性age,并修改了它的值。
总结
封装是Java的三大特性之一,它是面向对象编程的重要概念。封装可以保证程序的安全性和可维护性,提高了对象的内聚性,利于代码组织和维护。在Java中,使用private、public、protected关键字来实现封装。通过封装的示例演示,我们了解了在类的属性中使用private关键字进行封装,在外部类中使用公共方法来访问和操作封装的属性。另外,我们还讲解了封装与继承的结合,使用protected关键字对父类的私有属性和方法进行封装,在子类中可以直接访问和修改。
本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/javaabpjava.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!