TIJ摘要:访问控制权限

  1. 重构的原动力之一:发现有更好的方式去实现相同的功能。
  2. OOP需要考虑的基本问题:如何把变动的事物与不变的事物区分开来。
  3. 访问控制权限:以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的。访问控制的等级,从最大权限到最小权限依次为:public、protected、包访问权限和private。
  4. 由于名字之间的潜在冲突,在Java中对名称空间进行完全控制并为每个类创建唯一的标识符就成了非常重要的事情。
  5. 每个编译单元只能有一个public类,否则编译器就不会接受。如果在该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,这是因为它们不是public类,而且它们主要是用来为主public类提供支持。
  6. 当编译一个.Java文件时,在.java文件中的每个类都会有一个输出文件,而在该输出文件的名称与.java文件中的每个类的名称相同,至少多了一个后缀名.class。
  7. java可运行程序:是一组可以打包并压缩为一个java文档文件(JAR,使用java的jar文档生成器)的.class文件。
  8. 类库实际上是一组类文件。
  9. 如果使用package语句,它必须是文件中除注释外的第一句程序代码。
  10. java包的命名规则全部使用小写字母,包括中间的字也是如此。
  11. package和import关键字允许你做的,是将单一的全局名字空间分割开,使无论多少使用Internet以及java开始编写类,都不会出现名称冲突问题。
  12. java解释器的运行过程如下:首先,找出环境变量CLASSPATH(可以通过操作系统来设置,有时也可以通过通过安装程序—用来在你的机器上安装Java或给予java的工具—来设置)。CLASSPATH包含一个或多个目录,用作查找.class文件的根目录。从根目录开始,解释器获取包的名称并将每个句点替换成反斜杠,以从CLASSPATH根中产生一个路径名称。得到路径名称会与CLASSPATH中的各个不同的项相链接,解释器就在这些目录中查找与你所要创建的类名称相关的.class文件。
  13. C的条件编译:一般情况下,源程序中所有的行都参加编译,但有时希望对其中的一部分内容只是在满足一定条件下才进行编译,即对一部分内容指定编译条件。java中没有条件编译。
  14. 默认访问权限没有任何关键字,但通常是指包访问权限。这就意味着当前包中的所有其他类对那个成员都有访问权限,但对于这个包之外的所有类,这个成员却是private。
  15. 不要错误地认为java总是将当前目录视为查找行为的起点之一。
  16. private的一个用处, 用private标记构造函数,这样就可以控制如何创建对象,并阻止别人直接访问某个特定的构造器。这样的方式可以实现单例模式。
  17. 对于类中的域,除非必须公开底层实现细目,否则就应该将所有的域指定为private.
  18. 出于两个很重要的原因,访问权限控制将权限的边界划在了数据类型的内部。第一个原因是要设定客户端程序员可以使用和不可以使用的界限。第二个原因即将接口和具体实现相分离。

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/AndyDai/p/4734088.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574684.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当电压放大电路的开路增益和输出电阻固定后_晶体管放大电路的性能分析与应用...

关于三极管共射极放大电路的基本分析方法(见附录1),我们之前有聊过。本文重点与大家分享下电路的性能分析,尤其电路的频率响应与选频特性,还是非常有趣的。主要内容有:输入输出电阻通频带如何提高放大倍数1节5号电池可以放大电路吗…

移动设备和SharePoint 2013 - 第5部分:自定义应用

博客地址:http://blog.csdn.net/foxdave原文地址在该系列文章中,作者展示了SharePoint 2013最显著的新功能概观——对移动设备的支持。该系列文章:移动设备和SharePoint 2013 - 第1部分:概述移动设备和SharePoint 2013 - 第2部分&…

Leetcode 172 Factorial Trailing Zeroes

1、题目要求 Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in logarithmic time complexity. 题目意思是求n的阶乘后面末尾0的个数,并且时间复杂度是对数级别。 2、分析 一个数 n 的阶乘末尾有多少个 0 取决于从…

java递归实现多级菜单栏_java利用递归调用实现树形菜单的样式

一:需求现有以需求就是把某一个帖子的全部评论展示出来。二:分析关于对帖子的评论分为主评论和子评论,主评论就是对帖子的直接评论,子评论就是对评论的评论。三:思路先获取某一个帖子的全部主评论,递归判断…

mysql in 保持顺序_IN条件结果顺序问题_MySQL

bitsCN.comIN条件结果顺序问题项目中需要记录用户的浏览历史,我的意见是前端直接存cookie里,可是前端说cookie内容太多,要求传递id,后端返回数据,结果就产生如下的问题。1.据前端说,url中的数组传递是无序的…

(部分转载,部分原创)java大数类(2)

NYOJ 773 开方数 http://acm.nyist.net/JudgeOnline/problem.php?pid773 1 import java.util.Scanner;2 3 public class Main{4 public static void main(String[] args){5 int n;6 double p;7 Scanner cin new Scanner(System.in);8 w…

mysql 分类汇总_sql多级分类汇总实现介绍

t1id parentidm an ae mf mx fy fz bt2row id amount1 a 13.002 b 20.003 e 20.004 f 20.005 x 20.006 y 20.007 z 20.008 e 12.009 x 11.0010 f 13.00如何得出如下结果:row id amount7 x 20.0011 x 11.00x小计 31.008 y 20.00y小计 20.006 f 20.0012 f 13.00f小计 …

Altium Designer哪里下载和导入元件库_图文教程

http://jingyan.baidu.com/article/46650658064621f549e5f88f.html转载于:https://www.cnblogs.com/Ph-one/p/4397460.html

python3 logging com1_python-logging-基础(1)

在执行用例的时候,往往会遇到各种问题,遇到问题后很难去定位import loggingclass Logs:def __init__(self,filepath,name):#self.namename#self.filepathfilepathself.configRead_config(Config_Http)#重新定义日志名字self.loggerlogging.getLogger(sel…

拷贝人家的

TCP server端 #include "stdafx.h" #include <stdio.h> #include <winsock2.h>#pragma comment(lib,"ws2_32.lib")int main(int argc, char* argv[]) {//初始化WSAWORD sockVersion MAKEWORD(2,2);WSADATA wsaData;if(WSAStartup(sockVersion…

python问题解决方案_Python安装、遇到的问题及解决方案,python,和,方法

Python安装&#xff1a;先在官网下载你需要的Python版本&#xff0c;我这边下载的是Python3.8&#xff0c;下载完是一个exe文件&#xff0c;直接双击安装即可&#xff0c;注意勾选“add python 3.8 to path”安装后遇到的问题&#xff1a;1.安装完成后在cmd中输入Python查看版本…

python 复数求模_Python基础语法知识汇总(学习党的最爱!)

本文章包含了Python一系列基本知识&#xff0c;其中包括&#xff1a;基本数据类型&#xff08;整数&#xff0c;浮点数&#xff0c;复数&#xff0c;字符串&#xff09;&#xff1b;分支语句&#xff1b;异常处理&#xff1b;函数&#xff1b;局部变量与全局变量&#xff1b;递…

JAVA装mysql_已经安装了mysql,怎么能在java程序里使用SQL?

展开全部1、安装62616964757a686964616fe4b893e5b19e31333335323437SQLServer2000安装SQLServer2000补丁SP3安装SQLServer2000 for SP3的驱动程序(先打补丁sp3&#xff0c;再安装针对sp3的驱动程序&#xff0c;安装补丁时&#xff0c;为保险起见&#xff0c;两种验证方式的都装…

用对工具,抖音、某站视频轻松下载~

相信大部分小伙伴都有过这样的困扰&#xff0c;平时我们在刷短视频的时候就发现一段我们需要的视频。想下载时才发现&#xff0c;“保存”按钮是灰色的。 这个时候我们可以通过复制视频链接的方式来下载视频。下面给大家介绍四种万能视频下载工具&#xff0c;大家记得点赞收藏再…

数字的空洞 水 南邮NOJ 1071

数字的空洞 时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte 总提交 : 209 测试通过 : 120 题目描述 在个位数中&#xff1a;0&#xff0c;4&#xff0c;6&#xff0c;8&#xff0c;9有一个共同的特征&#xff1a;数形上存在空洞&…

bzoj 1257: [CQOI2007]余数之和sum 数论

1257: [CQOI2007]余数之和sum Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id1257Description 给出正整数n和k&#xff0c;计算j(n, k)k mod 1 k mod 2 k mod 3 … k mod n的值&#xff0c;其中k mod i表示k除以i的…

flask 上传excel 前端_flask-restful编写上传图片api

Flask-RESTful是用于快速构建REST API的Flask扩展。我最近在使用Flask-Restful Vue.js写一个轻量博客时有一个前端后端上传图片的需求。在Flask-Restful的官方文档中并没有相关的内容。下面是我谷歌查找资料的总结。引入FileStorageflask-restful的参数解析中并没有文件类型&a…

Hibernate merge和update的区别

今天做了个测试&#xff0c;写了个测试用例来看看merge与update时控制台打印出来的日志有什么不一样。实体bean很简单&#xff0c;就id和name两个字段&#xff0c;接下来分别给出以下几种测试情形的控制台日志内容&#xff1a; 1. 数据库记录已存在&#xff0c;更改person的nam…

qdir 类似工具_qdir 类似工具_支持 Win8.1,全能资源管理器 Q-Dir 5.74 发布

Q-Dir是一款帮助用户管理本地文件和文档的工具。支持快速访问定位本地磁盘、网络驱动器、USB移动设备及其他存储设备中的文件或文档。依靠强大的Quadro-View技术&#xff0c;使得Q-Dir成为一款优秀的文件管理工具。Q-Dir文件管理软件特色&#xff1a;• 收藏夹&#xff1a;快速…

面试题:求所占字符

/* 在32位系统下&#xff0c;分别定义如下两个变量&#xff1a;char *p[10],char(*p1)[10],sizeof(p),sizeof(p1)分别值为___________。 */ #include <stdio.h> #include <stdlib.h>void main() {char *p[10],(*p1)[10],p2[10],p3;printf("%d,%d,%d,%d,%d,%d&…