A. 计算机安全服务中访问控制的主要功能是什么
访问就是对计算机资源进行某种操作的能力,访问控制就是通过某种方式对这种能力明确的允许或禁止的方法,基于计算机的访问控制被称为逻辑访问控制,逻辑访问控制不仅仅可以规定谁或什么程度或设备可以访问特定的系统资源,还可以规定访问的类型。
这些控制可以内建在操作系统中,可以建立在应用程序或主要的功能上,可以建立在数据仓库管理系统或通信系统中,也可以通过安装专门的安全程序包进行部署,逻辑访问控制可以部署在受保护的计算机系统内部,也可以部署在外部设备中。
(1)简述程序与类的访问控制扩展阅读:
注意事项:
网络实体安全:如计算机的物理条件、物理环境及设施的安全标准,计算机硬件、附属设备及网络传输线路的安装及配置等。
软件安全:如保护网络系统不被非法侵入,系统软件与应用软件不被非法复制、篡改、不受病毒的侵害等。
数据安全:如保护网络信息的数据安全,不被非法存取,保护其完整、一致等。
网络安全管理:如运行时突发事件的安全处理等,包括采取计算机安全技术,建立安全管理制度,开展安全审计,进行风险分析等内容。
B. 访问控制根据应用环境不同可分为三种它不包括
访问控制根据应用环境不同可分为三种,它不包括数据库访问控制,访问控制根据应用环境不同只有主机、操作系统访问控制、网络访问控制、应用程序访问控制三种。
访问控制可分为自主访问控制和强制访问控制两大类。
自主访问控制,是指由用户有权对自身所创建的访问对象(文件、数据表等)进行访问,并可将对这些对象的访问权授予其他用户和从授予权限的用户收回其访问权限。
强制访问控制,是指由系统(通过专门设置的系统安全员)对用户所创建的对象进行统一的强制性控制,按照规定的规则决定哪些用户可以对哪些对象进行什么样操作系统类型的访问,即使是创建者用户,在创建一个对象后,也可能无权访问该对象。
访问控制在技术实现上,包括以下几部分:
(1)接入访问控制:接入访问控制为网络访问提供了第一层访问控制,是网络访问的最先屏障,它控制哪些用户能够登录到服务器并获取网络资源,控制准许用户入网的时间和准许他们在哪台工作站入网。例如,ISP服务商实现的就是接入服务。
(2)资源访问控制:是对客体整体资源信息的访问控制管理。其中包括文件系统的访问控制(文件目录访问控制和系统访问控制)、文件属性访问控制、信息内容访问控制。
(3)网络端口和节点的访问控制:网络中的节点和端口往往加密传输数据,这些重要位置的管理必须防止黑客发动的攻击。对于管理和修改数据,应该要求访问者提供足以证明身份的验证器(如智能卡) 。
以上内容参考网络-访问控制
C. 安卓系统的自主访问控制和强制访问控制是怎么操作的
自主访问控制
自主访问的含义是有访问许可的主体能够直接或间接地向其他主体转让访问权。自主访问控制是在确认主体身份以及(或)它们所属的组的基础上,控制主体的活动,实施用户权限管理、访问属性(读、写、执行)管理等,是一种最为普遍的访问控制手段。自主访问控制的主体可以按自己的意愿决定哪些用户可以访问他们的资源,亦即主体有自主的决定权,一个主体可以有选择地与其它主体共享他的资源。
基于访问控制矩阵的访问控制表(ACL)是DAC中通常采用一种的安全机制。ACL是带有访问权限的矩阵,这些访问权是授予主体访问某一客体的。安全管理员通过维护ACL控制用户访问企业数据。对每一个受保护的资源,ACL对应一个个人用户列表或由个人用户构成的组列表,表中规定了相应的访问模式。当用户数量多、管理数据量大时,由于访问控制的粒度是单个用
户,ACL会很庞大。当组织内的人员发生能变化(升迁、换岗、招聘、离职)、工作职能发生变化(新增业务)时,ACL的修改变得异常困难。采用ACL机制管理授权处于一个较低级的层次,管理复杂、代价高以至易于出错。
DAC的主要特征体现在主体可以自主地把自己所拥有客体的访问权限授予其它主体或者从其它主体收回所授予的权限,访问通常基于访问控制表(ACL)。访问控制的粒度是单个用户。没有存取权的用户只允许由授权用户指定对客体的访问权。DAC的缺点是信息在移动过程中其访问权限关系会被改变。如用户A可将其对目标O的访问权限传递给用户B,从而使不具备对O访问权限的B可访问O。
强制访问控制
为了实现完备的自主访问控制系统,由访问控制矩阵提供的信息必须以某种形式存放在系统中。访问矩阵中的每行表示一个主体,每一列则表示一个受保护的客体,而矩阵中的元素,则表示主体可以对客体的访问模式。目前,在系统中访问控制矩阵本身,都不是完整地存储起来,因为矩阵中的许多元素常常为空。空元素将会造成存储空间的浪费,而且查找某个元素会耗费很多时间。实际上常常是基于矩阵的行或列来表达访问控制信息。
强制访问控制是“强加”给访问主体的,即系统强制主体服从访问控制政策。强制访问控制(MAC)的主要特征是对所有主体及其所控制的客体(例如:进程、文件、段、设备)实施强制访问控制。
为这些主体及客体指定敏感标记,这些标记是等级分类和非等级类别的组合,它们是实施强制访问控制的依据。系统通过比较主体和客体的敏感标记来决定一个主体是否能够访问某个客体。用户的程序不能改变他自己及任何其它客体的敏感标记,从而系统可以防止特洛伊木马的攻击。
Top Secret),秘密级(Secret),机密级(Confidential)及无级别级(Unclassified)。其级别为T>S>C>U,系统根据主体和客体的敏感标记来决定访问模式。访问模式包括:
read down):用户级别大于文件级别的读操作;
Write up):用户级别小于文件级别的写操作;
Write down):用户级别等于文件级别的写操作;
read up):用户级别小于文件级别的读操作;
自主访问控制不能抵御“特洛伊木马”攻击,而强制访问控制能够有效的防御“特洛伊木马”攻击。MAC最主要的优势是它阻止特洛伊木马的能力 一个特洛伊木马是在一个执行某些合法功能的程序中隐藏的代码,它利用运行此程序的主体的权限违反安全策略 通过伪装成有用的程序在进程中泄露信息 一个特洛伊木马能够以两种方式泄露信息: 直接与非直接泄露 前者, 特洛伊木马以这样一种方式工作, 使信息的安全标示不正确并泄露给非授权用户; 后者特洛伊木马通过以下方式非直接地泄露信息: 在返回给一个主体的合法信息中编制 例如: 可能表面上某些提问需要回答, 而实际上用户回答的内容被传送给特洛伊木马。
D. 什么是访问控制
问题一:什么是访问控制机制???? 防火墙的访问控制机制是限制应用程序和软件在访问网络时是否带有数字签名和根据应用程序规则来判定是否木马或者病毒。
问题二:访问控制的名词解释是什么意思 按用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用的一种技术,如UniNAC网络准入控制系统的原理就是基于此技术之上。访问控制通常用于系统管理员控制用户对服务器、目录、文件等网络资源的访问。
访问控制是几乎所有系统(包括计算机系统和非计算机系统)都需要用到的一种技术。访问控制是:给出一套方法,将系统中的所有功能标识出来,组织起来,托管起来,将所有的数据组织起来标识出来托管起来, 然后提供一个简单的唯一的接口,这个接口的一端是应用系统一端是权限引擎。权限引擎所回答的只是:谁是否对某资源具有实施 某个动作(运动、计算)的权限。返回的结果只有:有、没有、权限引擎异常了。
中文名
访问控制
限 制
用户对某些信息项的访问
包 含
服务器、目录、文件等
功 能
防止非法的主体进入受保护
问题三:什么事访问控制?访问控制包括哪几个要素? 访问控制是指主体依据某些控制策略或权限对客体本身或是其资源进行的不同授权访问。
访问控制包括三个要素,即:主体、客体和控制策略。 主体:是可以对其它实体施加动作的主动实体,简记为S。
客体:是接受其他实体访问的被动实体, 简记为O。
控制策略:是主体对客体的操作行为集和约束条件集, 简记为KS。
问题四:什么是访问控制表 下面是对几种访问控制列表的简要总结。 ●标准IP访问控制列表 一个标准IP访问控制列表匹配IP包中的源地址或源地址中的一部分,可对匹配的包采取拒绝或允许两个操作。编号范围是从1到99的访问控制列表是标准IP访问控制列表。 ●扩展IP访问控制列表 扩展IP访问控制列表比标准IP访问控制列表具有更多的匹配项,包括协议类型、源地址、目的地址、源端口、目的端口、建立连接的和IP优先级等。编号范围是从100到199的访问控制列表是扩展IP访问控制列表。 ●命名的IP访问控制列表 所谓命名的IP访问控制列表是以列表名代替列表编号来定义IP访问控制列表,同样包括标准和扩展两种列表,定义过滤的语句与编号方式中相似。 ●标准IPX访问控制列表 标准IPX访问控制列表的编号范围是800-899,它检查IPX源网络号和目的网络号,同样可以检查源地址和目的地址的节点号部分。 ●扩展IPX访问控制列表 扩展IPX访问控制列表在标准IPX访问控制列表的基础上,增加了对IPX报头中以下几个宇段的检查,它们是协议类型、源Socket、目标Socket。扩展IPX访问控制列表的编号范围是900-999。 ●命名的IPX访问控制列表 与命名的IP访问控制列表一样,命名的IPX访问控制列表是使用列表名取代列表编号。从而方便定义和引用列表,同样有标准和扩展之分。
问题五:JAVA中什么叫访问控制 访问修饰共有四种。
1、private 此修饰符修饰的方法或变量只有在本类中可以访问
2、protected 此修饰符修饰的方法或变量只有在本类同包类及子类中可以访问
3、public 此修饰符修饰的方法或变量在所有类中可以访问
4、默认 此修饰符修饰的方法或变量在同包类中可以访问
问题六:方法有那些访问控制修饰符,分别是什么作用 楼主的三个问题,我都有回答,
楼主问 :访问控制修饰符 我没见过, 一般都说访问控制符 ,非访问修饰符,也有叫非访问耽制修饰符。
我不清除楼主的具体意思,就把 控制符和修饰符,都给你讲了:
方法的访问控制符同属性一样就是4个: 都是顾名思义,也就不详细说明了。
public 公有的
protected 包有和子类 可以访问 引用。
package-private ,这是默认的,什么都不写,就是 包私有。
private 私有,本类访问。
至于,修饰符有:
static 都知道是静态的
final 是最终的,就是不能修改了,
abstract 抽象的方法,就是声明了,没实现的方法, 没有方法体的,只有方法名的。
native 本地方法,表示该方法不使用java编写,是用 其他语言 如 c++等编写的。
synchronized 修饰方法成为一个同步方法,用的不多,概念是这样的。
问题七:java中的访问控制有什么用? 9.访问控制 访问控制有什么用?
在
软件公司里是这么用的,我们想象一种场景,在你的类中,你编了三个私有方法,马克-to-win,别人当然都用不了,但在类外,你也是用不了的,你必须,
在类里再编一个公共方法,别人就能随便用了!但是如果你的公共方法调用那三个私有方法的顺序是132的话,全世界人民只能调用那个公共方法,按照132的
顺序,来使用那三个私有方法,他想按照123的顺序来调用那三个私有方法,都没办法。因为这个类的发布权在你手里,全世界人民只会到你的网站去下载。如果
大家有需求建议说你把顺序改成321,他们得经过你的同意,把这顺序为321的公共方法,重新加入你的类中,重新在你自己的网站打包发布,所以保护了你的
知识产权马克-to-win。
类和他的成员如何被访问以及在什么范围内能被访问,取决于它声明的访问指示符(access specifier)。
Java的访问指示符分类1.public(公共的,全局的)2.private(私有的,局部的)3.protected(受保护的)4.默认访问级别。
public:当一个类成员被public指示符修饰时,该成员可以被你的程序中的任何其他代码访问。
private :当一个类成员被指定为private时,该成员只能被它的类中的其他成员访问。
main( )总是被public指示符修饰。它被在程序外面的代码调用,也就是由Java运行系统调用。
默认访问级别:如果不使用访问指示符,该类成员的默认访问设置为在它自己的包内为public,但是在它的包以外不能被存取。
本章源码
class Test3 {
int a; default access访问
public int b; public access
private int c; private access
methods to access c
void setc(int i) { set c's value
c = i;
}
int getc() { get c's value
return c;
}
}
public class Test {
public static void main(String args[]) {
Test3 ob = new Test3();
。。。。。。。。。。。。。。。。详情网上找“马克-to-win”,参考他的网站或他的网络空间:java第2章的内容
问题八:什么是安全性和访问控制测试 未经授权用户能否访问系统,测试安全性,两方面,正确用户能否正常登录,不正确用户能否登录
访问控制在我理解是不是有做一些拦截,看这些拦截有没有起作用
问题九:简述什么是基于角色的访问控制rbac 访问是一种利用计算机资源去做某件事情的的能力,访问控制是一种手段,通过它这种能力在某些情况下被允许或者受限制(通常是通过物理上和基于系统的控
制)。基于计算机的访问控制不仅可规定是“谁”或某个操作有权使用特定系统资源,而且也能规定被允许的访问类型。这些控制方式可在计算机系统或者外部设备
中实现。
就基于角色访问控制而言,访问决策是基于角色的,个体用户是某个组织的一部分。用户具有指派的角色(比如医生、护士、出纳、经理)。定义角色的过程应该基于对组织运转的彻底分析,应该包括来自一个组织中更广范围用户的输入。
访问权按角色名分组,资源的使用受限于授权给假定关联角色的个体。例如,在一个医院系统中,医生角色可能包括进行诊断、开据处方、指示实验室化验等;而研究员的角色则被限制在收集用于研究的匿名临床信息工作上。
控制访问角色的运用可能是一种开发和加强企业特殊安全策略,进行安全管理过程流程化的有效手段。
E. android系统怎样实现访问控制策略
第一类风险是滥用应用程序权限。关于这类风险有如下防范策略建议。
应用程序认证
认证是防范恶意程序的有效手段之一。在理想状态下,一个应用程序在认证之前必须经过完整的测试与代码审查,确认其权限使用的合理性,这自然对恶意软件起到了有力的防范作用。但是,认证的费用高昂,程序复杂,并不具备广泛的实用性。
选择使用应用程序权限
如果能够在安装阶段,确认某一应用程序仅使用必需的最小权限,也就是遵循最小权限原则,则受到恶意软件攻击的可能性必将大大降低!对于有经验的用户这也许是一种选择,但对于广大的普通用户,恐怕没人懂得如何验证应用程序要求的权限是否合理,在多数情况下用户会直接授予所要求的权限。因此需要开发者在申请或设定权限时,严格遵循最小权限原则。
自动静态分析与代码验证
设计一种自动分析应用程序特性的工具,分析应用程序的功能以及不同应用程序之间的差别,以判断其合法性。
第二类风险是攻击Linux内核与系统库函数的漏洞。目前,针对这种风险,采用更严格的访问控制机制,第6章介绍的限制操作系统用户权限的SE Android,是一种实际且有效的选择。最危险的攻击就是利用系统漏洞获取根用户或超级用户权限,进而控制整个系统。SE Android恰好通过控制根用户或超级用户权限实现对安全性的增强,即使攻击者获取了根用户权限,但可能的危害范围不至于无限扩大。但是,某些系统命令由于正常使用的需要,可能无法完全禁用,攻击者如果恰好获得该类命令的使用权,则SE Android的功能就十分有限了。
第三类风险是破坏私有数据的可用性、数据隐私性以及完好性。可以采取以下策略进行防范。
登录
使用登录用户口令解锁移动设备的某些功能,以防止安全威胁。这是一种常见的有效方式,尤其是用于保护隐私数据信息。但是,当设备遗失时,如果尚未使用口令解锁设备,则保护作用存在;如果解锁之后才遗失设备,则口令保护完全无效。
防火墙
防火墙可以保障用户私有信息不会经由网络连接被泄露。通常,对网络连接传输的内容使用无状态或有状态的分析,可以发现是否有私密信息正被泄露,因此可以切断传输线路。由于防火墙工作在操作系统内核中,因此无法直接为外部攻击所侵害。同时防火墙可以与SE Android提供的访问控制机制协同工作,提供更高级别的保护。但是,恶意软件并非只能通过网络接口泄露隐私信息。比如,通过短信/彩信的发送,防火墙就无作用了。
数据加密
数据加密是保护隐私数据的最佳手段。由于只有信息所有者才有密钥,因此即使设备失窃,隐私信息的安全仍然得到保障。
上下文敏感的访问控制(CAAC,Context Aware Access Control)
CAAC可以根据设备使用的内部与周边环境决定访问权限,比如设备使用的地点、所登录的移动网络、是否连接Wi-Fi等。但是,如果攻击恰好发生在允许访问的环境下,则此类方式无效。
远程管理
从安全角度,远程管理能力是必须严格限制使用的。但是,与防火墙、CAAC机制相结合,远程管理实际可以提升安全性。例如,设备遗失后,可以通过远程管理机制开启防护机制,保护数据安全。即使在日常使用中,远程管理也可能发现肆虐移动网络的蠕虫,通过启动防火墙等机制限制蠕虫的活动。但是,所有的远程管理都需要在受到攻击的过程中,或受到攻击之前有人为参与,而且需要耗费设备的资源,以及远程管理的人力资源等,费用不菲。
第四类风险是耗尽系统资源,可以采取如下的防范手段。
资源管理
系统资源管理的安全方案可以进一步降低耗尽系统资源类风险的危害。其机制是公平分配每个应用程序所需的系统资源。当然,可以根据应用程序的重要性与对资源的需求情况加以分配。比如,电话应用程序非常重要,因此需要得到更多的CPU时间。如果CPU时间、存储空间限额、网络与磁盘输入输出限流,则“拒绝服务”类型的攻击可被避免。但是,高效实现此类机制仍然十分困难,因此应用较少。
入侵检测/防护系统
基于宿主(host)的入侵检测系统可以通过资源使用的异常情况,检测各种耗尽电池、内存与CPU时间的恶意软件。但是,高级的恶意软件通常伪装为正常软件,不易检测。
第五类风险是入侵专用网络连接。建议采用如下的防范策略。
虚拟专网(VPN)
虚拟专网使用成熟的信息认证码与加密,保护通信的安全,可以防止针对网络的攻击。
远程管理
一个集中式的远程管理中心可以增强安全保护能力,但远程管理中心的人为因素可能成为另类的安全隐患。
上下文敏感的访问控制(CAAC)
在内网或虚拟专网的环境下,结合CAAC的机制,可以更好地保护数据安全。比如,当检测到外网环境时,适时启动数据传输加密机制等。
以上均为宏观上采取的防范策略,就实施细节而言,重要的是开发者需具备基本的安全意识,充分认识到安全性也是软件开发周期的一个重要环节,编写安全的代码是开发者所必须具备的一项职业技能。虽然不可能确保所编写的代码100%安全,但也要尽可能地使用户对Android系统和应用程序放心。
具体而言,无论是系统工程师还是应用工程师,在Android平台上致力于实现功能的同时,应更深入地理解所编写的应用程序将如何与Android系统或其他应用程序安全地交互;如何安全地存储数据到SQLite;如何保护用户数据尤其是敏感数据的安全,避免恶意软件的攻击;如何处理有限的内存、电池电量;如何充分理解权限机制,使用户清楚应用程序需要哪些权限。所有的这些都是开发流程中必不可少的部分。
本文节选自《Android安全机制解析与应用实践》一书。
F. 访问控制的基本任务是什么
访问控制的基本任务如下:
1.用户身份认证
认证就是证实用户的身份。认证必须和标识符共同起作用。认证过程首先需要输入贴户名、用户标识(Userid)或注册标识(Logonld),告诉计算机用户是谁。账户名信息应该是秘密的,任何其他用户不应拥有它。但为了防止账户名或ID的泄露而出现非法用户访问,还需进一步用认证技术证实用户的合法身份。
口令是一种种简便易行的认证手段,但因为容易被猜测出来而比较脆弱,也容易被非法用户利用。生物技术是一种严格而有前途的认证方法,如利用指纹、视网膜等,但因技术复杂,目前还没有得到广泛采用。
2.授权
系统在正确认证用户以后,根据不同的ID分配不同的使用资源,这项任务称为授权。授权的实现是靠访问控制完成的。访问控制是一项特殊的任务,它用标识符ID做关键字来控推制用户访问程序和数据。
访问控制主要用于大型计算机、主机和服务器,个人计算机很少用。但如果要在个人计算机上增加访问控制功能,可以在DOS环境下安装Thegate软件,在Windows环境下安装MrBurns软件。
下面从三个方面说明如何决定用户的访问权限。
(1)用户分类
对一个已被系统识别和认证的用户(合法用户),还要对它的访问操作实施一定的限制。对一个通用计算机系统来讲,用厂户范围很广,层层次不同,权限也不同。可将用户分为如下4种用户类。
①特殊用户。这类用户就是系统管理员,他拥有最高级别的特权,可以访问系统的任何资源,并具有所有类型的访问操作权力。
②一般用户。这是最多的一类用户,也是系统的一般用户,他们们的访问操作要受一定的限制。根据需要,系统管理员对这类用户分配不同的访问操作权力。
③做审计的用户。这类用户负责对整个系统的安全控制与资源使用情况进行审计。
④作废用户。这是一类被取消访问权力或拒绝访问系统的用户,又称为非法用用户。
G. 简要叙述什么是访问控制符,列出Java中的访问控制符,并说明各个访问控制符的控制权限
一,非访问修饰符。
1, 抽象类:
凡是用abstract修饰符修饰的类被称为抽象类。抽象类就是没有具体对象的概念类。
抽象类是一种经过优化的概念组织方式:把共同特点抽象出来;其后在描述和处理某一种具体对象时,就只需描述不同的特殊之处。这种组织方式使得所有的概念层次分明,简洁洗练,非常符合人们日常的思维习惯。
由于抽象类是它的所有子类的公共属性的集合,所以使用抽象类的一个优点就是可以充分利用这些公共属性来提高开发和维护程序的效率。
值得一提的是,面向对象技术是要用更接近于人类思维方式的方法来处理实际问题,抽象类的设立就是这种思想的具体体现之一,它是模仿人类的思维模式的产物。
2,最终类:
如果一个类被final修饰符所修饰和限定,说明这个类不可能有子类。
被定义为final的类通常是一些有固定作用、用来完成某种标准功能的类。如Java系统定义好的用来实现网络功能的InterAddress、Socket等类都是final类。
abstract和final修饰符不能同时修饰一个类,因为abstract类自身没有具体对象,需要派生出子类后在创建子类的对象;而final类不可能有子类。这样放在一起修饰就没有意义了。
3,有些类的修饰符也可以用来修饰类中的域或方法:
(1) 域:是类和对象的静态属性,定义域的操作就是说明变量或创建对象的操作。
<1> 静态域:
用static修饰符修饰的域是仅属于类的静态域。静态域是类中每个对象共享的域。他们是类的域,不属于任何一个类的具体对象。是一个公共的存储单元,任何一个类的对象访问它时,取到的都是相同的数值。
<2> 静态初始化器:
静态初始化器是由关键字static引导的一对大括号括起的语句组。作用是:在加载时,初始化类的静态域。
与构造函数相同,他们都是用来完成初始化的工作,但是静态初始化器与构造函数有三点不同:
①构造函数是对每个新创建的对象初始化,而静态初始化器是对类自身进行初始化。
②构造函数是在用new运算符产生新对象时由系统自动执行,而静态初始化器则是在它所属的类加载到内存时由系统调用执行。
③不同于构造函数,静态初始化器不是方法,没有方法名、返回值和参数列表。
<3> 最终域:
用final修饰的域,实际上就是Java中的常量。
用final修饰符说明常量时,需要注意以下几点:
①需要说明常量的数据类型。
②需要同时指出常量的具体取值。
③因为所有类对象的常量成员,其数值都固定一致,为了节省空间,常量通常声明为static。
<4> 易失域:
如果一个域被volatile修饰符所修饰,说明这个域可能同时被几个线程所控制和修改,即这个域不仅仅被当前程序所掌握,在运行过程中可能在其他未知的程序操作影响和改变该域的取值。在使用当中应该特别注意。
通常,volatile用来修饰接受外部输入的域。如表示当前时间的变量将系统的后台线程随时修改,以保证程序中取到的总是最新的当前系统时间,所以可以把它定义为易失域。
(2)方法:是类的动态属性,标志了类所具有的功能和操作。小括号是方法的标志。
<1> 抽象方法:
修饰符abstract修饰的抽象方法是一种仅有方法头,而没有具体的方法体和操作实现的方法。使用抽象方法的目的是使所有的子类,对外都呈现一个相同名字的方法,是一个统一的接口。所有的抽象方法,都必须存在于抽象类之中。
<2> 静态方法:
用static修饰符修饰的方法,是属于整个类的类方法,不用的是对象或实例的方法。调用这种方法时,应该使用类名作前缀;这种方法在内存中的代码段将随着类的定义而分配和装载,不被任何一个对象专有;只能处理属于整个类的成员变量。
<3> 最终方法:
用final修饰符修饰的类方法。功能和内部语句不能再更改的方法,不能再被继承。
注意:所有已被private修饰符限定为私有的方法,以及所有包含在final类中的方法,都被缺省地认为是final的。
<4> 本地方法:
用native修饰符声明其他语言书写方法体并具体实现方法功能的特殊的方法。这里的其他语言包括C/C++/FROTRAN/汇编等。由于native的方法的方法体使用其他语言在程序外部写成,所以所有的native方法都没有方法体,而用一个分号代替。
<5> 同步方法:
如果synchronized修饰的方法是一个类的方法(即static的方法),那么在被调用执行前,将把系统类Class中对应当前类的对象加锁。如果synchronized修饰的是一个对象的方法(未用static修饰的方法),则这个方法在被调用执行前,将把当前对象加锁。Synchronized修饰符主要用于多线程共存的程序中的协调和同步。
二,访问控制符。
访问控制符是一组限定类、域或方法是否可以被程序里的其他部分访问和调用的修饰符。类的访问控制符只有一个public,域和方法的访问控制符有四个,分别是public、private、protected、private protected,另外还有一种没有定义专门的访问控制符的缺省情况。
1, 公有访问控制符public:
Java的类是通过包的概念来组织的,包氏类的一个松散的集合。处于同一个包中的类可以不需要任何说明而方便的互相访问和引用,而对于不同包中的类,则不行。但当一个类被声明为public时,他就具有了被其他包中的类访问的可能性,只要这些其他包中的类在程序中使用import语句引入public类,就可以访问和引用这个类。
类中被设定为public的方法是这个类对外的接口部分,避免了程序的其他部分直接去操作类内的数据,这实际就是数据封装思想的体现。
每个Java程序的主类都必须是public类,也是基于相同的原因。
用public修饰的类的域称为公共域。如果公共域属于公共类,则它能被所有的其他类所引用。public修饰符会造成安全性的数据封装性下降,所以一般应减少public域的使用。
2, 缺省访问控制符:
缺省访问控制权规定,该类只能被同一个包中的类访问和引用,而不可以被其他包中的类使用,这种访问特性又称为包访问性。
同样道理,类内的域或方法如果美育访问控制符来限定,也就具有包访问性。
简单说,定义在同一个程序中的所有类属于一个包。
3,私有访问控制符private :
用private修饰得域或方法只能被该类自身所访问和修改,而且不能被任何其他类(包括该类的子类)来获取和引用。private修饰符用来声明那些类的私有成员,它提供了最高的保护级别。
4,保护访问控制符protected :
用protected修饰的成员变量可以被三种类所引用:该类自身、与它在同一个包中的其它类、在其他包中的该类的子类。使用protected修饰符的主要作用是允许其他包中该类的子类来访问父类的特定属性。
5,私有保护访问控制符 private protected :
用private protected修饰的成员变量可以被两种类访问和引用,一种是该类本身,一种是该类的所有子类。把同一个包内的非子类排除在可访问的范围之外,使得成员变量更专于具有明确继承关系的类,而不是松散地组合在一起的包。