Java的声明和访问控制的应用技巧

文章关键字:|Java|声明|访问|控制|权限|接口|数组|枚举|重载|规则|

  类的声明:

  1、类本身的声明:

  对类的声明来说,主要包括类的访问权限声明和非访问修饰符的使用。对于一个普通的Java类(POJO)来说,主要的访问权限修饰符只有两个public和默认权限,内部类可以有private权限。非访问修饰符主要包括abstract,final和strictfp.

  (1)这里先讨论非访问修饰符,下面是基本的规则:

abstract:声明一个类是抽象的。
final:声明一个类是可以被继承的。
strictfp:声明一个类中所有的方法在处理浮点数时遵循IEEE754规则。
  由上面的这些规则可以得出一个结论:一个类不可能既声明为abstract的,又声明为final的。

  抽象类的实质即为继承它的类定义了一组行为准则,任何继承它的类都必须实现抽象类所定义的抽象方法,抽象类不可以实例化,抽象类中可以不包含抽象方法,但是含有抽象方法的类一定要声明为抽象类。

  final类表示一个类似不能被继承的。如果你不希望一个类的行为被改变,或者说该类的行为是整个系统的基础,就跟数学中的数字一样的话,就可以把这个类声明为final的。

  (2)类的访问权限修饰符:

  首先需要弄清楚的是类的访问包括哪些方面:

一个类中创建另一个类的实例;
一个类继承自另一个类;
一个类中的方法访问另一个类的方法和变量。
  类的访问权限声明为public的,表示该类可以被任意的类访问,当然,在其他类中访问该类时,还是要在源文件的头部做相应的import工作。

  类的访问权限为默认权限,则表示和该类处在同一个包下的类可以访问它 ,此处注意以下比较容易忽视的地方:

  源文件一:

  package cert;

  class test1 {}

  源文件二:

  package cert2;

  import cert.test1;

  public class test2 extends test1{}

  这里test2类会产生错误,因为test1是默认访问权限,test2 使用继承的方式访问test1,由于这两个类不在同一个包中,因此test2是无法看到test1 的。

  2、类的成员访问权限声明

  (1)访问权限的声明:

  类的成员可以使用全部的四种访问权限:public ,protected,默认,private。

  这里需要记住的第一条准则就是:判断类的成员的访问权限,必须先判断类的访问权限,如果整个类对于另一类来说都是不可见的,那么这个类的所有成员都是不可见的。

  类的成员的访问权限,当涉及到子类时会变得很复杂,这里首先要弄清楚两种访问的区别:

一个类的方法的代码是否能够访问另一个类的成员(即:通过在一个类中创建另一个类的对象,通过该对象来实现对另一个类的访问)。
一个类是否能够继承超类的成员。


未完,原文地址:http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=9281
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值