Java类的封装
java中四种不同的限定词限定的成员(成员变量或成员变量方法),访问权限由大到小依次为:
- public(公共的)
可以被所有的类访问
- protected(受保护的)
可以被这个类本身访问
可以被它的子类访问(同一个包以及不同包的子类)访问。
可以被同一个包中所有其他的类访问
- 默认的、友好的
被这个类的本身访问
被同一个包中的类访问
- private(私有的)
只能被这个类本身访问
如果一个类的构造方法声明为private,则其他类不能生成该类的实例
| public成员 | protected成员 | 默认成员 | private成员 | |
| 同一个类中可见 | 是 | 是 | 是 | 是 |
| 同一个包中对子类可见 | 是 | 是 | 是 | |
| 同一个包对非子类可见 | 是 | 是 | 是 | |
| 不同包中对子类可见 | 是 | 是 | ||
| 不同包中对非子类可见 | 是 |
封装:
将成员变量声明为私有的(private),再提供一个或多个公有的(public) getXX()
和setXX()方法实现对该成员变量的访问和修改。
- 类中私有的成员变量、成员方法只能在该类的内部调用,不能通过该类的对象调用
封装的目的:
- 隐藏类的实现细节;
- 让使用者只能通过指定的方法访问数据,可以方便加入控制逻辑,限制不合理的操作
- 便于修改,增强代码可维护性
- 可进行数据检查
Java类的封装的更多相关文章
- Java—类的封装、继承与多态
一.类和对象 1.类 类是数据以及对数据的一组操作的封装体. 类声明的格式: 类声明 { 成员变量的声明: 成员方法的声明及实现: } 1.1 声明类 [修饰符] class 类<泛型> ...
- java类的封装、继承、多态
一.封装(encapsulation) 封装性就是把类(对象)的属性和行为结合成一个独立的相同单位,并尽可能隐蔽类(对象)的内部细节,对外形成一个边界,只保留有限的对外接口使之与外部发生联系.封装的特 ...
- 学习笔记 Java类的封装、继承和多态 2014.7.10
1.问题:toString()没搞懂? int a = 1; Integer aa = new Integer(a); //这是实现的过程 System.out.println("Hello ...
- java类的封装 继承 多态
1.猜数字小游戏 package cn.jiemoxiaodi_02; import java.util.Scanner; /** * 猜数字小游戏 * * @author huli * */ pub ...
- java——类的封装
public void setName(String str) { name=str; } public void setAge(int a) //set方法需要在括号中定义数据类型 { if(a&g ...
- 第三篇 :微信公众平台开发实战Java版之请求消息,响应消息以及事件消息类的封装
微信服务器和第三方服务器之间究竟是通过什么方式进行对话的? 下面,我们先看下图: 其实我们可以简单的理解: (1)首先,用户向微信服务器发送消息: (2)微信服务器接收到用户的消息处理之后,通过开发者 ...
- 黑马程序员——JAVA基础之简述 类的封装
------- android培训.java培训.期待与您交流! ---------- 类的封装(Encapsulation) 封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. 封装优 ...
- 将封装了envi功能的IDL类导出成java类,方便java调用
目的: 用IDL将ENVI的功能封装成为IDL的类,并使用IDL的对象导出功能把这些功能类导出为java类,方便java调用.(本来想直接通过GP工具调用的,但是没有授权文件) 操作步骤: ...
- Java开发微信公众号(三)---微信服务器请求消息,响应消息,事件消息以及工具处理类的封装
在前面几篇文章我们讲了微信公众号环境的配置 和微信公众号服务的接入,接下来我们来说一下微信服务器请求消息,响应消息以及事件消息的相关内容,首先我们来分析一下消息类型和返回xml格式及实体类的封装. ( ...
随机推荐
- 漫谈NIO(2)之Java的NIO
1.前言 上章提到过Java的NIO采取的是多路IO复用模式,其衍生出来的模型就是Reactor模型.多路IO复用有两种方式,一种是select/poll,另一种是epoll.在windows系统上使 ...
- javascript 数组去重的6种思路
前端在日常开发中或多或少都会碰到有对数据去重的需求,实际上,像是lodash这些工具库已经有成熟完备的实现,并且可以成熟地运用于生产环境.但是这并不妨碍我们从思维拓展的角度出发,看看去重可以用几种思路 ...
- tomcat启动(三)Catalina简要分析
上篇解析Bootstrap到 daemon.setAwait(true); daemon.load(args); daemon.start(); 这三个方法实际是反射调用org.apache.cata ...
- 4-nginx-反向代理到tomcat及负载均衡
反向代理相比于正向代理, 比如使用搬瓦工时, 就是位于客户端的正想代理, 而反向代理则是服务器端的代理, 主要用于实现请求分发, 负载均衡等功能 正向代理推荐一个: 搬瓦工, 比较好用.. 反向代理主 ...
- 鹅厂优文 | ReactJS一点通
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由鹅厂新鲜事儿发表于云+社区专栏 作者:卢文喆 腾讯云 UI工程师 导语 | 当React 刚开始红的时候,一直觉得 JSX 的设计思想 ...
- 精度更高的double类型计算工具类(借助BigDecimal类型)
/** * 提供精確的加法運算 * @param args */ public static double add(double v1, double v2) { BigDecimal b1 = ne ...
- 【LeetCode题解】160_相交链表
目录 160_相交链表 描述 解法一:哈希表 思路 Java 实现 Python 实现 解法二:双指针(推荐) 思路 Java 实现 Python 实现 160_相交链表 描述 编写一个程序,找到两个 ...
- MySQL 继续-- Win7 安装及后续工作
学MySQL 差不多了,就要实战,实战怎么能少得了软件. 一 : 下载软件 可以到 MySQL 官网直接下载 (社区版) : http://dev.mysql.com/downloads/mysql ...
- Feign性能优化注意事项--超时
Caused by: java.lang.IllegalStateException: PathVariable annotation was empty on param 1. at feign ...
- web前端--实现前后端分离的心得
1.实现前后端分离的心得 2.前后端分离实践 3.谈谈前后端的分工协作 4.从MVC到前后端分离(REST-个人也认为是目前比较流行和比较好的方式) 4.1.REST风格框架实战:从MVC到前后端分离 ...