Java中面向对象三大特性之——封装
概述
面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的 方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。
封装的原则
将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问。
封装的步骤
1、使用 private 关键字来修饰成员变量。
2、对需要访问的成员变量,提供公共的访问方式,也就是定义对应的 getXxx 方法 、 setXxx 方法。
封装的操作——private关键字
private的含义
1、 private是一个权限修饰符,代表最小权限。
2、可以修饰成员变量和成员方法,来达到隐藏属性的目的
3、被private修饰后的成员变量和成员方法,只在本类中才能访问
private的使用格式
- private 数据类型 变量名;
为什么使用private修饰?
因为不要把属性暴露给别人
this关键字
this的含义
this代表所在类的当前对象的引用(地址值),即对象自己的引用。
记住 :方法被哪个对象调用,方法中的this就代表那个对象。即谁在调用,this就代表谁。
构造方法
当一个对象被创建时候,构造方法用来初始化该对象,给对象的成员变量赋初始值。
作用: 初始化该对象,给对象的成员变量赋初始
构造方法的定义格式
封装的具体例子
- public class Person {
- //定义成员变量
- private String name;//姓名
- private int age;//年龄
- private char gendar;//性别
- //定义成员方法
- //有参构造方法
- public Person() {
- }
- //无参构造方法
- public Person(String name, int age, char gendar) {
- this.name = name;
- this.age = age;
- this.gendar = gendar;
- }
- //get和set方法
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public char getGendar() {
- return gendar;
- }
- public void setGendar(char gendar) {
- this.gendar = gendar;
- }
- /**
- * study方法
- *
- */
- public void study(){
- System.out.println("好好学学习,天天向上");
- }
- /**
- * sleep();睡觉
- */
- public void sleep(){
- System.out.println("学习一天了,可以睡觉了");
- }
- }
Java中面向对象三大特性之——封装的更多相关文章
- JAVA基础——面向对象三大特性:封装、继承、多态
JAVA面向对象三大特性详解 一.封装 1.概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: 只能通过规定的方法访问数据. ...
- Java中面向对象三大特性之——多态
多态的概述: 多态是继封装.继承之后,面向对象的第三大特性. 生活中,比如跑的动作,小猫.小狗和大象,跑起来是不一样的.再比如飞的动作,昆虫.鸟类和飞机,飞起来也是不一样的.可见,同一行为,通过不同 ...
- Java中面向对象三大特性之继承
1. 继承的概述 继承就是子类继承父类的变量和方法,下面用代码解释一下: class Student {// 定义学生类 String name; int age; void study() { Sy ...
- Java中的三大特性:封装、继承、多态
封装: 概念:封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问,适当的封装可以让代码更容易理解与维护,也加强了代码的安全性. 原则:将属性隐藏起来,若需要访问某个属性,提供公共方法对 ...
- Java中面向对象三大特性之——继承
继承的概述 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那一个类即可. 现实生活中继承:子承父业,用来描述事物之间的关系 代码中继承:就是用 ...
- Java中面向对象三大特征
也就是说在这里"人"是多态的, 在不同的形态时,特征行为是不一样的, 这里的"人", 同时有两种形态,一种是教师形态,一种是学生形态,所对应的特征行为分别是&q ...
- Java基础-面向对象第一特性之封装(Encapsulation)
Java基础-面向对象第一特性之封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.理解什么是面向过程和面向对象 面向过程与面向对象都是我们编程中 ...
- Java中的三大特性 - 超详细篇
前言 大家好啊,我是汤圆,今天给大家带来的是<Java中的三大特性 - 超详细篇>,希望对大家有帮助,谢谢 这一节的内容可能有点多,大家可以选择性的来看 简介 Java的三大特性:封装.继 ...
- Javascript面向对象三大特性(封装性、继承性、多态性)详解及创建对象的各种方法
Javascript基于对象的三大特征和C++,Java面向对象的三大特征一样,都是封装(encapsulation).继承(inheritance )和多态(polymorphism ).只不过实现 ...
随机推荐
- Golang - 流程控制
目录 Golang - 流程控制 1. 选择结构 2. 循环结构 3. 跳转语句 Golang - 流程控制 1. 选择结构 if else语句: //package 声明开头表示代码所属包 pack ...
- ecshop 输出数组
找到include/cls_template.php文件 找到get_val()函数,可以在大约629行加入 case 'print_r': $p = 'print_r(' . $p . ',true ...
- JavaSE 学习笔记之Java概述(一)
一.Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发: JAVASE:Java Platfor ...
- dubbo-源码阅读之javaspi&javasist简单使用
dubbo可扩展的点的类的对象创建 都是用类似javaspi和javasist的思想来做的.所以看后面代码 先熟悉一下java的SPI和javasist的使用 如ServicesConfig的代码 p ...
- chrome js 获取css
var myDiv = document.getElementById("chooseRect"); var computedStyle = document.defaultVie ...
- sendfile学习
参考 https://zhuanlan.zhihu.com/p/20768200?refer=auxten 而成本很多时候的体现就是对计算资源的消耗,其中最重要的一个资源就是CPU资源. Sendfi ...
- 面向基于英特尔® 架构的 Android* 的 CoCos2D
Cocos2D 是一款游戏引擎,可与从电脑到手机等多种设备配合使用. 该引擎支持丰富的特性,可帮助创建出色的 2D 游戏.它甚至包含具备全面功能的物理引擎. CoCos2D 的核心元素是基本动画元素( ...
- sqlalchemy.orm.exc.flusherror:错误解决
使用sqlalchemy创建model 初次代码: class UserModel(db.Model): __tablename__ = "users" id = db.Colum ...
- 浅析hybrid模式下地支付宝钱包和微信
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VuY2hhbzEyNg==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- Highcharts构建空饼图
Highcharts构建空饼图 空饼图就是不包括不论什么节点的饼图. 在Highcharts中,假设数据列不包括数据,会自己主动显示空白. 这样浏览者无法推断当前图表为什么类型.绘制一个空饼图的变通方 ...