`
897371388
  • 浏览: 526700 次
文章分类
社区版块
存档分类
最新评论

java 从零开始,学习笔记之基础入门<信息的隐藏>(四)

 
阅读更多

(四)信息的隐藏

导包:主要是为了引入其他包中的资源,以供当前导入包的类中使用

导入包有多种方式:第一种:是左键单击ECLIPSE左边的X提示,然后就会提示类可以导入哪些包,对应的选择。

第二种:将光标点击到需要导入类名的任意一个地方,然后Ctrl+1,再对应的选择所要导入的包

常用的一些包:

常用的包中的类都可以在我们的API中查找的到,我们可以通过查找API来了解对应包中类的相关信息。

导入源码的步骤:导入系统自带的一些包,包中的类如果我们需要查看源码,就需要将对应的源码包导入进来。在JDK中源码文件就是SRC.ZIP文件

信息的隐藏

隐藏是对对象的一种保护机制。对象将他自己的一些细节隐藏起来,不让外部其他类直接访问。

一般情况将对象的属性用Private修饰符修饰,那么此属性就为私有属性,只能在当前这个类中访问,其他类是不能直接访问的。

同理如果将一个方法声明为私有的,那么次方法也只能在当前类中可以访问,在其他类中是看不到私有的方法的。

信息的封装:

将私有属性与公有的方法封装成一个整体,在操作这个整体只需要调用对象。

package com.ibm.first;

publicclass Student2 {

privateStringname;

privatefloatscore;

publicvoidsetName(String_name){

name=_name;

}

publicString getName(){

returnname;

}

publicvoidsetScore(float _score){

score=_score;

}

publicfloatgetScore(){

returnscore;

}

}

Java语言面向对象的特点:

l 抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。

l 继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

l 封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

l 多态:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

封装过程的具体操作:

将一个实体类中属性声明为私有的(private)然后提供一个或者多个公共的方法来操作这些私有属性。

为什么不采用构造器?

1.构造器也可以给私有的属性赋值,但是构造器不能够获取到私有属性的值,还是要通过方法来获取。

2.构造器给私有属性赋值的时候,需要提供一个用Public修饰的构造器,在构造器中就会给私有的属性赋值,那么我们在创建对象的时候就会调用这个构造器需要传递构造的参数,这样就会暴露出此类中有几个什么属性的私有属性,相对来说也没有达到信息的隐藏的目的。

如果构造器声明为私有的,那此构造器就不合法。

封装的好处

²隐藏具体类的实现细节,更加安全。

²防止对封装数据的未经授权的访问,可以方便的加入控制逻辑,限制对属性的不合理操作。

²有利于保证数据的完整性

²增强代码的可维护性.

对代码进行格式化快捷键: ctrl+shift+f

注释:

Java提供3种注释单行注释、多行注释、文档化注释

//单行

/*多行注释*/

/**文档化注释*/

文档化注释用于类、属性 、方法前,注释的信息可以通过javadoc命令生成对应的帮助文档

v 常常在javadoc注释中加入一个以“@”开头的标记,结合javadoc指令的参数,可在生成的API文档中产生特定的标记

v 常用的javadoc标记

§ @author:作者

§ @version:版本

§ @docroot:表示产生文档的根路径

§ @deprecated:不推荐使用的方法

§ @param:方法的参数类型

§ @return:方法的返回类型

§ @see:"参见",用于指定参考的内容

§ @exception:抛出的异常

@throws:抛出的异常,和exception同义
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics