黑马程序员技术交流社区

标题: 关于类的修饰的问题 [打印本页]

作者: 我心飞翔    时间: 2011-12-23 11:04
标题: 关于类的修饰的问题
本帖最后由 我心飞翔 于 2011-12-23 13:42 编辑

类的修饰有哪些规定,常见的有哪几种,例如,非静态内部类不可以用static修饰。谢谢了,我想总结归纳一下。
作者: 杨旭    时间: 2011-12-23 11:18
一,非访问修饰符。
1,抽象类:abstract
2,最终类:final
    abstract和final修饰符不能同时修饰一个类,因为abstract类自身没有具体对象,需要派生出子类后在创建子类的对象;而final类不可能有子类。这样放在一起修饰就没有意义了。
二,访问控制符。
1,公有访问控制符public:
2,缺省访问控制符
3,私有访问控制符private
4,保护访问控制符protected
5,私有保护访问控制符 private protected
作者: yunqiangshan    时间: 2011-12-23 11:25
1.public   
   
  使用对象:类、接口、成员   
   
  介绍:无论它所处在的包定义在哪,该类(接口、成员)都是可访问的   
   
  2.private   
   
  使用对象:成员   
   
  介绍:成员只可以在定义它的类中被访问   
   
  3.static   
   
  使用对象:类、方法、字段、初始化函数   
   
  介绍:成名为static的内部类是一个顶级类,它和包含类的成员是不相关的。静态方法是类方法,   
   
  是被指向到所属的类而不是类的实例。静态字段是类字段,无论该字段所在的类创建了多少实例,该字   
   
  段只存在一个实例被指向到所属的类而不是类的实例。初始化函数是在装载类时执行的,而不是在创建   
   
  实例时执行的。   
   
  4.final   
   
  使用对象:类、方法、字段、变量   
   
  介绍:被定义成final的类不允许出现子类,不能被覆盖(不应用于动态查询),字段值不允许被修改。   
   
  5.abstract   
   
  使用对象:类、接口、方法   
   
  介绍:类中包括没有实现的方法,不能被实例化。如果是一个abstract方法,则方法体为空,该方   
   
  法的实现在子类中被定义,并且包含一个abstract方法的类必须是一个abstract类   
   
  6.protected   
   
  使用对象:成员   
   
  介绍:成员只能在定义它的包中被访问,如果在其他包中被访问,则实现这个方法的类必须是该成员所属类的子类。
作者: 于汝国    时间: 2011-12-23 11:40
一,非访问修饰符。
1,  抽象类:abstract
    凡是用abstract修饰符修饰的类被称为抽象类。抽象类就是没有具体对象的概念类。
2,最终类:final
    如果一个类被final修饰符所修饰和限定,说明这个类不可能有子类。
    被定义为final的类通常是一些有固定作用、用来完成某种标准功能的类。如Java系统定义好的用来实现网络功能的InterAddress、Socket等类都是final类。
       abstract和final修饰符不能同时修饰一个类,因为abstract类自身没有具体对象,需要派生出子类后在创建子类的对象;而final类不可能有子类。这样放在一起修饰就没有意义了。

二,访问控制符。
    访问控制符是一组限定类、域或方法是否可以被程序里的其他部分访问和调用的修饰符。类的访问控制符只有一个public,域和方法的访问控制符有四个,分别是public、private、protected、private protected,另外还有一种没有定义专门的访问控制符的缺省情况。

1,  公有访问控制符public:  
    用public修饰的类的域称为公共域。如果公共域属于公共类,则它能被所有的其他类所引用。public修饰符会造成安全性的数据封装性下降,所以一般应减少public域的使用。
2, 缺省访问控制符:
    缺省访问控制权规定,该类只能被同一个包中的类访问和引用,而不可以被其他包中的类使用,这种访问特性又称为包访问性。
3,私有访问控制符private :
    用private修饰得域或方法只能被该类自身所访问和修改,而且不能被任何其他类(包括该类的子类)来获取和引用。private修饰符用来声明那些类的私有成员,它提供了最高的保护级别。
4,保护访问控制符protected :
    用protected修饰的成员变量可以被三种类所引用:该类自身、与它在同一个包中的其它类、在其他包中的该类的子类。使用protected修饰符的主要作用是允许其他包中该类的子类来访问父类的特定属性。
5,私有保护访问控制符 private protected :
    用private protected修饰的成员变量可以被两种类访问和引用,一种是该类本身,一种是该类的所有子类。把同一个包内的非子类排除在可访问的范围之外,使得成员变量更专于具有明确继承关系的类,而不是松散地组合在一起的包。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2