快捷搜索:  汽车  科技

java面向对象的封装理解(第22天Java入门有野面向对象之封装)

java面向对象的封装理解(第22天Java入门有野面向对象之封装)工作忙1年,可以休5.0天年假。好了,有关Java封装的内容就这么多了,如果你觉得老陈这样讲还可以的话,你就转发和点赞,你的轻轻一点,就是对老陈继续创作的最大鼓励和支持。/* * Java封装讲解 */ public class Main { public static void main(String[] args) { AnnuaLeave annuaLeave = new AskForLeave(); double c = annuaLeave.computeYear(1); System.out.println("工作忙1年,可以休" c "天年假。"); } }输出结果王老虎 满16岁了.22.2 接口封装将要实现的代码放在实现类中,统一对外提供访问接口,这其实是更常见的封

面向对象有三个基本特征,分别是继承、封装和多态。继承之前讲过了,这次说一下封装,下一次说多态。封装,就是将要实现细节部分的内容,包装、隐藏起来,只暴露允许给外界调用的方法(接口)。它,可以让程式码更容易理解与维护,也加强了代码的安全性。

22.1 属性封装

将属性设置为私有(private)的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏,如果要提供给外部访问,就对属性提供对外的公共(public)方法访问,通常情况下,这些方法被称为getter和setter方法。

public class student { //隐藏信息 private String name; private int age; //提供对外的方法(接口) public void setName(String name) { //在这可以进行一些限制 this.name = name; } //提供对外的方法(接口) public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } }

外部想直接访问Student的属性是访问不了的,只能通过其对外提供的方法(接口)进行操作。

/* * Java封装讲解 */ public class Main { public static void main(String[] args) { Student student = new Student(); //只能通过方法设置属性 student.setName("王老虎"); student.setAge(16); //只能通过方法访问属性 System.out.println(student.getName() " 满" student.getAge() "岁了."); } }

输出结果

王老虎 满16岁了.22.2 接口封装

将要实现的代码放在实现类中,统一对外提供访问接口,这其实是更常见的封装方法,只是说的人比较少,所以,你要赶紧关注老陈我啊。面向接口编程,才是真正的践行者。如果以后我有幸讲解Spring,而你有时间看的话,那你就会对封装理解更深刻的。

public interface AnnuaLeave { //计算年假 double computeYear(int entryAge); }

实现年假的类。如果某一天企业年假计算方法改变了,那你就直接改变实现类里的方法,其他地方保持不变。

//实现年假计算 public class AskForLeave implements AnnuaLeave { public double computeYear(int entryAge) { if (entryAge >= 1) { return 5.0; } else { return 0.0; } } }

调用年假计算接口,不管年假具体的实现类,封装,可以减少代码的耦合。

/* * Java封装讲解 */ public class Main { public static void main(String[] args) { AnnuaLeave annuaLeave = new AskForLeave(); double c = annuaLeave.computeYear(1); System.out.println("工作忙1年,可以休" c "天年假。"); } }

输出结果

工作忙1年,可以休5.0天年假。

java面向对象的封装理解(第22天Java入门有野面向对象之封装)(1)

好了,有关Java封装的内容就这么多了,如果你觉得老陈这样讲还可以的话,你就转发和点赞,你的轻轻一点,就是对老陈继续创作的最大鼓励和支持。

一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,可关注今日头条:老陈说编程。我在分享Python,前端、Java和App方面的干货。关注我,没错的。

#Java##APP##程序员##Web##Spring#

猜您喜欢: