java面向对象——封装【JAVA教程】,java,面向对象,封装
作者:搜教程发布时间:2019-11-29分类:JAVA教程浏览:28评论:0
概述
面向对象编程言语是对客观天下的模仿,客观天下里成员变量都是隐蔽在对象内部的,外界没法直接操纵和修正。 封装能够被认为是一个庇护屏蔽,防备该类的代码和数据被其他类随便接见。要接见该类的数据,必需经由过程指定的体式格局。
恰当的封装能够让代码更轻易明白与保护,也加强了代码的安全性。
准绳
将属性隐蔽起来,若须要接见某个属性,供应大众要领对其接见。
封装的步骤
运用 private 关键字来润饰成员变量。
对须要接见的成员变量,供应对应的一对 getXxx 要领 、 setXxx 要领。
java进修视频引荐:java在线教程
封装的操纵—private关键字
private的寄义:
private是一个权限润饰符,代表最小权限,能够润饰成员变量和成员要领,被private润饰后的成员变量和成员要领,只在本类中才接见。
private的运用花样
private 数据范例 变量名 ;
运用 private 润饰成员变量,代码以下:
供应 getXxx 要领 / setXxx 要领,能够接见成员变量,代码以下:
封装优化1——this关键字
我们发明 setXxx 要领中的形参名字并不相符见名知意的划定,那末假如修正与成员变量名一致,是不是就见名知意了呢?代码以下:
经由修正和测试,我们发明新的问题,成员变量赋值失利了。也就是说,在修正了 setXxx() 的形参变量名后,方 法并没有给成员变量赋值!这是由于形参变量名与成员变量名重名,致使成员变量名被隐蔽,要领中的变量名,没法接见到成员变量,从而赋值失利。所以,我们只能运用this关键字,来处理这个重名问题。
this的寄义
this代表地点类的当前对象的援用(地点值),即对象本身的援用。
记着 :要领被哪一个对象挪用,要领中的this就代表谁人对象。即谁在挪用,this就代表谁。
this运用花样:
this.成员变量名;
public class Student { private String name; private int age; public void setName(String name) { //name = name; this.name = name; } public String getName() { return name; } public void setAge(int age) { //age = age; this.age = age; } public int getAge() { return age; } }
提醒:要领中只要一个变量名时,默许也是运用 this 润饰,能够省略不写。
封装优化2——组织要领
当一个对象被建立时刻,组织要领用来初始化该对象,给对象的成员变量赋初始值。
提醒:不管你与否自定义组织要领,一切的类都有组织要领,由于Java自动供应了一个无参数组织要领, 一旦本身定义了组织要领,Java自动供应的默许无参数组织要领就会失效。
组织要领的定义花样:
组织要领的写法上,要领名与它地点的类名雷同。它没有返回值,所以不须要返回值范例,以至不须要void。运用 组织要领后,代码以下:
注意事项:
假如你不供应组织要领,体系会给出无参数组织要领。
假如你供应了组织要领,体系将不再供应无参数组织要领。
组织要领是能够重载的,既能够定义参数,也能够不定义参数。
范例代码——JavaBean
JavaBean 是 Java言语编写类的一种范例范例。相符 JavaBean 的类,请求类必需是细致的和大众的,而且具有没有 参数的组织要领,供应用来操纵成员变量的 set 和 get 要领。
编写相符 JavaBean 范例的类,以门生类为例,范例代码以下:
测试类,代码以下:
public class TestStudent { public static void main(String[] args) { //无参组织运用 Student s= new Student(); s.setName(" 柳 岩 "); s.setAge(18); System.out.println(s.getName()+"‐‐‐"+s.getAge()); //带参组织运用 Student s2= new Student(" 赵 丽 颖 ",18); System.out.println(s2.getName()+"‐‐‐"+s2.getAge()); } }
引荐相干文章教程:java言语入门
以上就是java面向对象——封装的细致内容,更多请关注ki4网别的相干文章!
相关推荐
- java经典面试题集锦(五)_JAVA教程,java,面试题
- java中的换行符是什么_JAVA教程,java,换行符
- Java中变量必须先定义后使用么_JAVA教程,java,变量
- java中怎么定义接口_JAVA教程,java,接口
- java中静态代码块有什么特点_JAVA教程,java,静态代码块
- java中return语句有什么作用_JAVA教程,java,return
- Java对文件的读写操作(图文详解)_JAVA教程,java
- java经典面试题集锦(四)_JAVA教程,java,面试题
- 八种基本数据类型分别是什么?_JAVA教程,java,基本数据类型
- java如何将字符串转为数组_JAVA教程,java,字符串,数组
你 发表评论:
欢迎- JAVA教程排行
-
- 1接口中只能定义常量和抽象方法,对么_JAVA教程,接口,常量,抽象方法
- 2java文件不能删除文件怎么办_JAVA教程,java
- 3java中sleep的用法是什么?_JAVA教程,java,sleep
- 4java eclipse无法运行怎么办_JAVA教程,java
- 5java图片显示不出来怎么办_JAVA教程,java
- 6java后台乱码怎么办_JAVA教程,java
- 7javascript和java的区别是什么_JAVA教程,javascript,java
- 8java生成随机数的三种方法_JAVA教程,java,随机数
- 9在java中,负责对字节代码解释执行的是什么_JAVA教程,java
- 最新文章
- 广而告之