`
abcxo
  • 浏览: 33447 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

thinking in java 学习笔记6 访问控制

阅读更多

第六章 访问权限控制

问题:如何把变动的事物与保持不变的事物区分开来

 

我们这一章主要的目的要实现高内聚,低耦合,保持提供给客户端开发者的接口不变,但是里面可以变,这里的接口不变,指你的低耦合性,使开发者不依赖你的类型而进行开发,所以一般都是提供接口

 

 

而访问权限控制就是为了实现这个目的

 

.包:库单元,类库

 

一个java源文件也叫做编译单元或者转译单元,其内部可以有一个public 类,该类名字与文件名相同,只能有一个,若还有其他类,包外面的是看不见的,因为缺省是包内权限,而类的权限也只能是包内和public

 

 

.代码组织

.java文件中每一个类都会有一个输出文件,名字与类名相同,.class

java可运行程序是一组可以打包并压缩为一个java文档文件jar的class文件,java解释器负责这些文件的查找,装载和解释

package与import的作用是将单一的全局名字分开,而避免出现名称冲突的问题,package名称是intenent域名的反顺序

 

 

.java解释器的运行过程:

找到环境变量CLASSPATH,解释器获得包名。遇点则替换为反斜杠\,则产生了一个第一无二的路径名.解释器就是这样找到class文件的.

 

注:工具类的方法一般是公开静态的,可以用静态import导入语句

 

 

.java访问权限修饰词

 

public,任何人都可以访问

包访问权限,也就是不写任何修饰词的时候,默认的访问权限,只能在同一个包(编译单元)才能访问的(类似友元类)

protected,继承访问权限,简单来说就是老爸帮访问银行金卡的权限给了儿子.

private,同一个类的才能访问,同一个文件不同类的不能访问,必须是要同一个类,private非常重要与实用

 

 

.接口与实现

这一个可以说是java里面非常重要与实用的特性,在后面的章节会有详细介绍,我们经常把数据与方法包装在类中,然后通过访问权限控制,对具体实现隐藏起来,然后露出一个类型无关的接口供他人使用,这就是良好的封装

一般最好将public放在最前,然后是包权限,然后是protected,private,易于阅读者

 

.类的访问权限

类只有public 和包权限控制,若不想别人访问,可以在构造器用private,不过内部类可以使private和protected

 

 

这一章有一个设计模式,单例设计模式,具体可以去我的博客设计模式那里看

 

总结

这一章对我而言,是介绍了一个面向对象的入门,java提供访问权限给我们去限制那些使用我们代码的人,让他们接触到他们应该接触到的东西,而不是不应该的,我们提供给他们的是服务,就像电,这个词用得挺好的,就像使用电那样方便,只需要插上插头,不需要理解我插头后面是怎么样运作的,而当我需要发生改革时,插头仍然是三个的,保持了对外的不变性,这样当我需要变革时,我不需要顾虑是否会影响接口使用者而绊手绊脚,而接口使用者而不需要每次我版本升级后,他进行辛苦的代码修改。

 

 

 

注:java之设计模式    http://java.chinaitlab.com/special/patterns/Index.html

 

 

设计模式是面向对象编程的热门话题之一,越来越多的开发人员认识到设计模式的重要性。采用各种语言实现设计模式的文章也越来越多,但是很多开发人员发现很难将设计模式与实际开发中需要解决的具体问题相联系。
因为使用设计模式的难点往往不在于模式的实现,而在于很难确定哪种模式可以在现实的应用场景中采用,从而导致了在现实的项目中,面对客户的压力,我们总是采用最直截了当的方法解决问题。
本专题将用引用多个实例进行讲述Java设计模式,让大家对设计模式有更深的了解..........




具体内容请点击链接,他介绍得很形象,用图例介绍的,非常易懂















java美女 6





分享到:
评论

相关推荐

    Thinking in Java 自学笔记——第二章 一切皆对象

    ### Thinking in Java 自学笔记——第二章 一切皆对象 #### 重要概念解析 ##### 2.1 用引用操纵对象 在Java中,一切都被视为对象,这意味着无论是字符串、数字还是其他数据类型都可以被视为对象来进行操作。当...

    Thinking In java学习笔记

    ### Thinking In Java 学习笔记知识点总结 #### 面向对象编程(OOP)的重要性及其影响 面向对象编程(OOP)在软件开发领域产生了深远的影响。它不仅提高了开发效率和降低了维护成本,还简化了设计流程,使得编程任务...

    thinking in java 读书笔记(五)

    《Thinking in Java》是Bruce Eckel的经典之作,它深入浅出地讲解了Java语言的核心概念和技术,对于初学者和有经验的开发者来说都是极好的学习资源。这篇读书笔记主要聚焦在第五部分的内容,可能涵盖了类、对象、...

    Thinking in java读书笔记.docx

    这些只是《Thinking in Java》中的一部分内容,全书还包括类、接口、多态性、异常处理、集合框架、并发编程等多个主题,是Java学习者的宝贵资源。理解和掌握这些基础知识是成为一名熟练Java程序员的关键步骤。

    Thinking In Java的笔记_第一章

    通过以上概述,《Thinking In Java》第一章深入浅出地讲解了Java的基础概念,涵盖了面向对象编程的核心原则、数据的存储与管理、基本类型与包装类的使用,以及高精度数字的处理技巧,为初学者和进阶学习者提供了宝贵...

    中文版Thinking in Java 4th编程思想(笔记)

    《中文版Thinking in Java 4th编程思想》是学习Java编程的重要参考资料,它深入浅出地介绍了面向对象编程的核心概念。下面将详细解读其中的主要知识点。 1. **对象导论** - **万物皆对象**:Java编程的核心是对象...

    Java JDK 6.0 学习笔记.pdf

    **Java JDK 6.0 学习笔记** Java JDK(Java Development Kit)是Java编程语言的核心组件,包含Java运行环境、编译器、类库以及各种工具,是开发者进行Java程序开发的基础。Java JDK 6.0是Oracle公司发布的一个重要...

    恒生电子JAVA笔试试题-Thinking-In-Java-Notes:ThinkinginJava学习笔记

    Java》学习笔记 [TOC] 阅读计划 章节列表 对象导论 一切都是对象 操作符 控制执行流程 初始化与清理 访问权限控制 复用类 多态 接口 内部类 持有对象 通过异常处理错误 字符串 类型信息 泛型 数组 容器深入研究 Java...

    java编程思想笔记

    《Java编程思想笔记》是基于 Bruce Eckel 的经典著作 "Thinking in Java" 所做的学习总结,这本书深入浅出地介绍了Java语言的核心概念和技术。在本文中,我们将围绕Java编程的一些关键知识点进行深入探讨,包括但不...

    hsp 2021零基础学Java 【软件 资料 代码 笔记】

    6. **包**:包是Java的命名空间,用于组织类和接口,防止命名冲突,并提供访问控制。 7. **输入/输出流**:Java的I/O流系统强大,可以处理文件读写、网络通信等各种数据传输。 【Java开发工具】 学习Java,必不可...

    thinking-in-spring:春天学习笔记

    这份"thinking-in-spring"的学习笔记,旨在帮助读者全面理解Spring的核心概念、主要功能以及实际应用技巧。下面,我们将详细探讨Spring的主要模块和关键特性。 1. **依赖注入(Dependency Injection,DI)** ...

    MasteringJava:一些旧的Java笔记

    在编程世界中,Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司)于1995年发布。"Mastering Java: 一些...无论你是初学者还是有经验的开发者,这些资料都将对你的Java学习之路大有裨益。

    Java Object-Oriented Programming.ppt

    此外,Sun Microsystems Press的在线教程和Bruce Eckel的《Thinking in Java》也是重要的参考资料。课程为期14周,每周两次80分钟的连续讲座,中间有短暂休息。课程笔记通常在每堂课前的周二发布,并通过Blackboard...

    thinkinjava源码-ThinkingInJava:《Java编程思想4th》学习笔记Notesandsourcecodesaboutt

    本资源包含了这本书第四版的学习笔记和源代码,旨在帮助读者更好地理解和掌握Java编程思想。以下是对这些知识点的详细阐述: 1. **面向对象编程(OOP)**:Java是一种纯面向对象的语言,它强调类、对象、封装、继承...

    thinkinginjava笔记[参照].pdf

    《Thinking in Java》是一本深度解析Java编程语言的权威书籍,笔记主要涵盖了Java的核心概念和技术。以下是基于笔记内容的关键知识点: 1. **类与对象**: - 类是对象的蓝图,它定义了一组相似对象的属性(数据...

    spring-in-thinking:在春天思考

    在"spring-in-thinking-master"这个压缩包中,很可能是包含了一个关于Spring学习的项目或者教程资源。可能包括了代码示例、笔记文档、配置文件等,帮助学习者深入了解和实践Spring框架的各个组件。通过研究这些资源...

Global site tag (gtag.js) - Google Analytics