thi和supe举例 a this和 super是在设计类的时候、而不是使 用类及其实例的时候引用。 举例: ThisSupe:java 2021/2/20 ava面向对象程序设计教程
2021/2/20 Java面向对象程序设计教程 16 this和super举例 ◼ this和super是在设计类的时候、而不是使 用类及其实例的时候引用。 ◼ 举例:ThisSuper.java
基本术语:访问权限修饰符 访间权限控制由强到弱的顺序是 public、 protected (default) prIvate public访问权限意味着在任何地方,只要能访问到该类, 即可访问到该成员 protected访问权限意味着类中的成员允许同一个包或该 类的扩展子类访问。 缺省的访问权限不需要任何关键字,但通常称为 “ Friendly”。它意味着类中的成员只能由同一个包中的 其它类访问。 private访问权限意味着该类中的成员只能由自己的成员 调用,而无法被该类以外的其它类访问 声明局部变量不能包含访问权限修饰符,否则编译时将检 查出错。 2021/2/20 java面向对象程序设计教程
2021/2/20 Java面向对象程序设计教程 17 基本术语:访问权限修饰符 ◼ 访问权限控制由强到弱的顺序是public、protected、 (default)、private。 ◼ public访问权限意味着在任何地方,只要能访问到该类, 即可访问到该成员。 ◼ protected访问权限意味着类中的成员允许同一个包或该 类的扩展子类访问。 ◼ 缺省的访问权限不需要任何关键字,但通常称为 “Friendly”。它意味着类中的成员只能由同一个包中的 其它类访问。 ◼ private访问权限意味着该类中的成员只能由自己的成员 调用,而无法被该类以外的其它类访问。 ◼ 声明局部变量不能包含访问权限修饰符,否则编译时将检 查出错
存储对象状态的地方 类加载器 寄存器][堆」[栈][方法区K常量池 运行时数据区 非运行时数据区 执行时引擎 寄存器( Register)JWM会根据本身需求适当地分配 堆(Heap).堆是个自由内存区域,常用于动态或临时内存分配,对 类和数组对象提供内存。 栈( Stack)栈存储方法调用的状态,如方法调用使用的任何局部 变量和方法的操作数。 ■方法区( Method area)所有]VM线程共享的公用存储区,存储运 行时常量池、方法数据、字段数据、方法与构造方法字节码等信息。 运行时常量池( Runtime constant po).类似于其它编程语言中 的符号表,它包含数值文字和字段常量之类的常量 非运行时存储空间 2021/2/20 java面向对象程序设计教程
2021/2/20 Java面向对象程序设计教程 18 存储对象状态的地方 ◼ 寄存器(Register) JVM会根据本身需求适当地分配 。 ◼ 堆(Heap) 堆是个自由内存区域,常用于动态或临时内存分配,对 类和数组对象提供内存。 ◼ 栈(Stack) 栈存储方法调用的状态,如方法调用使用的任何局部 变量和方法的操作数。 ◼ 方法区(Method area) 所有JVM线程共享的公用存储区,存储运 行时常量池、方法数据、字段数据、方法与构造方法字节码等信息。 ◼ 运行时常量池(Runtime constant pool) 类似于其它编程语言中 的符号表,它包含数值文字和字段常量之类的常量。 ◼ 非运行时存储空间
对象的声明 java作为一种强类型语言,声明基本类型或引用 类型都要先指定类型,然后给出相应的变量标识 Type Identifier fian型变量只能赋值一次,而且必须被显式赋值, 否则编译时将有检查错误提示。 fian型基本类型变量相当于常量。 对于引用型变量,当声明为“fina"时,如果该变量引 用了一个对象,则意味着该变量只能引用该对象 该对象的状态仍然可以被改变;如果该变量引用 数 意味着该变量只能引用该数组,而该数组 的兀素仍然可以被改变 举例: Finalvariable.java 2021/2/20 java面向对象程序设计教程
2021/2/20 Java面向对象程序设计教程 19 对象的声明 ◼ Java作为一种强类型语言,声明基本类型或引用 类型都要先指定类型,然后给出相应的变量标识 符: Type Identifier; ◼ fianl型变量只能赋值一次,而且必须被显式赋值, 否则编译时将有检查错误提示。 • fianl型基本类型变量相当于常量。 • 对于引用型变量,当声明为“final”时,如果该变量引 用了一个对象,则意味着该变量只能引用该对象,而 该对象的状态仍然可以被改变;如果该变量引用了一 个数组,则意味着该变量只能引用该数组,而该数组 的元素仍然可以被改变。 • 举例:FinalVariable.java
对象的创建 利用关键字new可以创建一个对象,new运算符 为对象分配内存空间,调用该类的一个构造方法 实例化一个对象,返回该对象所在内存地址的 个引用 该对象引用可以赋给相应类型的对象变量,以后 可以通过该变量操作所引用的对象。 如果创建该对象时没有把引用赋给某个对象变量, 则该对象将无法再被引用。 ■举例: Employee. java 2021/2/20 ava面向对象程序设计教程
2021/2/20 Java面向对象程序设计教程 20 对象的创建 ◼ 利用关键字new可以创建一个对象,new运算符 为对象分配内存空间,调用该类的一个构造方法, 实例化一个对象,返回该对象所在内存地址的一 个引用。 ◼ 该对象引用可以赋给相应类型的对象变量,以后 可以通过该变量操作所引用的对象。 ◼ 如果创建该对象时没有把引用赋给某个对象变量, 则该对象将无法再被引用。 ◼ 举例:Employee.java