java面向对象(封装)
Posted Akiyama
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java面向对象(封装)相关的知识,希望对你有一定的参考价值。
一.封装的概述
封装是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。
是面向对象思想的特征之一,面向对象共有三个特征:封装,继承,多态。
二.封装的优点
1.良好的封装能够减少耦合。
2. 类内部的结构可以自由修改。
3. 可以对成员变量进行更精确的控制。
4. 隐藏信息,实现细节。
三.封装举例(步骤)
1. 修改属性的可见性来限制对属性的访问(一般限制为private)
public class Person { private String name; private int age; }
将 name 和 age 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。
2.对外提供公共方法访问(get&set)
public class Person{ private String name; private int age; ? public int getAge(){ return age; } ? public String getName(){ return name; } ? public void setAge(int age){ this.age = age; } ? public void setName(String name){ this.name = name; } }
四.this的解释与应用
在成员变量名前面加上this.来区别成员变量和局部变量
//在Person类中定义功能,判断两个人是否是同龄人 class Person { private int age; private String name; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void speak() { System.out.println("name=" + this.name + ",age=" + this.age); } // 判断是否为同龄人 public boolean equalsAge(Person p) { // 使用当前调用该equalsAge方法对象的age和传递进来p的age进行比较 // 由于无法确定具体是哪一个对象调用equalsAge方法,这里就可以使用this来代替 /* * if(this.age == p.age) { return true; } return false; */ return this.age == p.age; } }
以上是关于java面向对象(封装)的主要内容,如果未能解决你的问题,请参考以下文章