- 1、本文档共140页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]jaa程序设计34
Java语言程序设计 第三章 类与对象 类声明 类名须遵守的原则 符合标识符规定 若使用拉丁字母,首字母大写 若由几个单词复合而成, 每个单词的首字母大写 类修饰符 public 该类可以被任何其它类使用 abstract 该类是抽象类(包含抽象方法) abstract不能和final叠用修饰类 不能有private成员变量和方法 final 该类不能被继承 缺省(友好类) 该类仅可被同一包中的类使用 static 内部类才允许声明为静态类 静态内部类 可直接作为一个普通类来使用,而不需实例一个外部类 类声明(续) 说明继承的父类 class 类名 extends 父类名 所有类都是Object的直接或间接子类 说明实现的接口 class 类名 implements interface1,interface2,…; 多个类可共享相同的接口 一个类可实现多个接口 类的成员变量 实例变量与类变量 实例变量 在对象创建时分配内存空间,对象的空间回收时释放内存空间 对于每个对象都有不同的存储空间 只能通过对象名访问 类变量 static 类被加载到内存时为类变量分配存储空间,程序退出运行释放空间 该类的所有对象共享类变量 可通过类名或对象名访问 实例变量与类变量(续) 静态初始化器 static { 初始化语句; } 与构造函数的区别 构造函数是对每个新创建的对象初始化,而静态初始化器是对类自身的静态域进行初始化。 构造函数是在用new运算符产生新对象时由系统自动执行,而静态初始化器则是在它所属的类加载到内存时由系统调用执行。 静态初始化器不是方法,没有方法名、返回值和参数列表且仅执行一次。 不能出现非静态域或调用非静态方法 成员变量的非访问控制符 static 静态域 final 最终域 (常量) 需说明常量的数据类型且必须初始化且仅一次 初始化必须在定义处或构造函数中 其值一经初始化就不可改变(对于对象和数组来说是引用不可改变) 由于所有类对象的常量成员,其数值都固定一 致,为了节省空间,常量通常声明为static volatile 易失域 在被几个并发线程共享时,可被几个线程控制和修改 transient 暂时域 当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中 在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。 容易造成共享变量的不一致性。 volatile指示JVM,这个变量是不稳定的,不能保存它的私有拷贝,而应直接与主存中的共享成员变量交互。 volatile强迫重读和回写 当要访问的共享变量已在synchronized代码块中, 或者为常量时,不必使用 在方法中使用final型参数 可防止在方法中对形参的修改影响到实参 方法的内部类在用到方法中的形参时,此形参也必须声明为final才可使用 类的成员方法 成员方法的非访问控制符 抽象方法 abstract 仅有方法声明而无方法实现 使所有子类对外具有一个统一的接口 所有抽象方法必须存在于抽象类中 abstract不能与private、final、static叠用修饰方法 静态方法 static 实例方法属于对象,在不同对象空间中占用不同的空间;静态方法属于类,在类第一次被调用时被装载入内存,为类对象所共享 类方法在类的字节码被加载到内存时就分配了入口地址,而实例方法是为类创建对象后才被分配入口地址 子类不能重写父类的静态方法,但在子类中可以声明与父类静态方法相同的方法 仅能操纵类变量,不能操纵实例变量 仅能调用类方法,不能调用实例方法 可以使用类名调用静态方法 成员方法的非访问控制符(续) 最终方法 final 当前类的子类不能覆盖此方法,从而防止子类修改父类的关键方法 所有private方法和包含在final类中的方法都默认为是最终方法 定义为final、static、private的方法都可以得到运行时效率的优化 inline机制可使final方法被调用时直接将方法主体插入调用处 final方法可访问本类的非final成员和方法 本地方法 native 无方法体,方法体是使用其他语言在程序外部写成的 可以利用已经存在的其他语言程序功能模块 可以嵌入执行效率较高的语言满足特定要求 可能破坏跨平台特性 类的成员方法(续) 成员方法的非访问控制符(续) 同步方法 synchronized
文档评论(0)