java教程第三讲java语言中的面向对象特性(编辑修改稿)内容摘要:
式 例: = 10。 tx=new Point( ).x。 ◇ 调用对象的方法 格式: ([paramlist])。 例如: (30,20)。 new Point( ).move(30,20)。 3. 对象的清除 当不存在对一个对象的引用时,该对象成为一个无用对象。 Java 的垃圾收集 器自动扫描对象的动态内存区,把没有引用的对象作为垃圾收集起来并释放。 ( )。 当系统内存用尽或调用 ( )要求垃圾回收时,垃圾回收线程与系统同步运行。 3. 2. 3 面向对象特性 Java 语言中有三个典型的面向对象的特性:封装性、继承性和多态性,下面将详细阐述。 1. 封装性 Java 语言中,对象就是对一组变量和相关方法的封装,其中变量表明了对象的状态,方法表明了对象具有的行为。 通过对象的封装,实现了模块化和信息隐藏。 通过对类的成员施以一定的访问权 限,实现了类中成员的信息隐藏。 ◇ 类体定义的一般格式: class className { [public | protected | private ] [static] [final] [transient] [volatile] type variableName。 //成员变量 [public | protected | private ] [static] [final | abstract] [native] [synchronized] returnType methodName([paramList]) [throws exceptionList] {statements} //成员方法 } ◇ Java 类中的限定词 Java 语言中有四种不同的限定词,提供了四种不同的访问权限。 1) private 类中限定为 private 的成员,只能被这个类本身访问。 如果一个类的构造方法声明为 private,则其它类不能生成该类的一个实例。 2) default 类中不加任何访问权限限定的成员属于 缺省的( default)访问状态,可以被这个类本身和同一个包中的类所访问。 3) protected 类中限定为 protected 的成员,可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他的类访问。 4) public 类中限定为 public 的成员,可以被所有的类访问。 表 31 列出了这些限定词的作用范围。 【表 31】 Java 中类的限定词的作用范围比较 同一个类 同一个包 不同包的子类 不同包 非子类 private * default * * protected * * * public * * * * 2. 继承性 通过继承实现代码复用。 Java 中所有的类都是通过直接或间接地继承 类得到的。 继承而得到的类称为子类,被继承的类称为父类。 子类不能继承父类中访问权限为 private 的成员变量和方法。 子类可以重写父类的方法,及命名与父类同名的成员变量。 但 Java 不支持多重继承 ,即一个类从多个超类派生的能力。 ◇ 创建子类 格式: class SubClass extends SuperClass { … } ◇ 成员变量的隐藏和方法的重写 子类通过隐藏父类的成员变量和重写父类的方法,可以把父类的状态和行为改变为自身的状态和行为。 例如: class SuperClass{ int x。 … void setX( ){ x=0。 } … } class SubClass extends SuperClass{ int x。 //隐藏了父类的变量 x … void setX( ) { //重写了父类的方法 setX() x=5。 } …. } 注意:子类中重写的方法和父类中被重写的方法要具有相同的名字,相同的参数表和相同的返回类型,只是函数体不同。 ◇ super Java 中通过 super 来实现对父类成员的访问, super 用来引用当前对象的父类。 Super 的使用有三种情况: 1)访问父类被隐藏的成员变量,如:。 2)调用父类中被重写的方法,如: ([paramlist])。 3)调用父类的构造函数,如: super([paramlist])。 【例 35】 import .*。 class SuperClass{ int x。 SuperClass( ) { x=3。 (in SuperClass : x= +x)。 } void doSomething( ) { (in ())。 } } class SubClass extends SuperClass { int x。 SubClass( ) { super( )。 //调用父类的构造方法 x=5。 //super( ) 要放在方法中的第一句 (in SubClass :x=+x)。 } void doSomething( ) { ( )。 //调用父类的方法 (in ())。 (=++ =+x)。 } } public class Inheritance { public static void main(String args[]) { SubClass subC=new SubClass()。 ()。 } } 运行结果 c:\ Java Inheritance in SuperClass: x=3 in SubClass: x=5 in () in () =3 =5 3. 多态性。 在 Java 语言中,多态性体现在两个方面:由方法重载实现的静态多态性(编译时多态)和方法重写实现的动态多态性( 运行时多态)。 1) 编译时多态 在编译阶段,具体调用哪个被重载的方法,编译器会根据参数的不同来静态确定调用相应的方法。 2) 运行时多态 由于子类继承了父类所有的属性(私有的除外),所以子类对象可以作为父类对象使用。 程序中凡是使用父类对象的地方,都可以用子类对象来代替。 一个对象可以通过引用子类的实例来调用子类的方法。 ◇ 重写方法的调用原则 : Java 运行时系统根据调用该方法的实例,来决定调用哪个方法。 对子类的一个实例,如果子类重写了父类的方法,则运行时系统调用子类的方法;如果子类 继承了父类。java教程第三讲java语言中的面向对象特性(编辑修改稿)
相关推荐
ice方法自动派遣运行与请求对应的 doXXX 方法( doGet, doPost)等,当服务器决定将实例销毁的时候调用其 destroy 方 法。 与 cgi 的区别在于 servlet 处于服务器进程中,它通过多线程方式运行其 service 方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而 CGI 对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于 servlet。
private static Singleton instance = new Singleton()。 //这里提供了一个供外部访问本 class 的静态方法,可以直接访问 public static Singleton getInstance() { return instance。 } } 第二种形式 : public class Singleton { private static
具有明显的高(低)点性。 注意要在同一上升(下降)趋势里中取值,且在最高(低)点之后运行一段(一般在下跌末段、股价与指标出现第三浪低点)后才出现原点; 连续性原则。 注意: 必须在复权价位下运用指标; 停牌阶段指标运动失效; 涨跌停板指标失效。 背弛是一种能量积累过程,只有震荡交易才能利于能量的积累与转换。 故此,停牌期间 MACD 指标容易失灵。 就形成方式看
二 .同步性 :Hashtable 是线程安全的,也就是说是同步的,而 HashMap是线程序不安全的,不是同步的 三 .值:只有 HashMap 可以让你将空值作为一个表的条目的 key 或 value 2 char 型变量中能不能存贮一个中文汉字 ?为什么 ? 答: 是能够定义成为一个中文的,因为 java 中以 unicode 编码,一个 char 占 16 个字节
确认并完成考前准备图 167。 考中过程监控 考前准备完成后,就可以开始考试。 第一步:考生机上启动考试客户端 如果考生机上的考试客户端程序尚未启动,请入场的学生在考生机上从桌面快捷方式( )启动考试客户端程序。 第二步:开始考试 整个考场考生身份查对完毕,监考教师使用考场服务器主界面工具条上【开始考试】 启动当前场次的考试。 考试启动后,考试客户端自动进入登录界面,考生完成登录后进入考试界面。
11001000 01000001” 到 “11000000 00001001 11001000 01111110” ,注意此时被网络号所占住的 2 位主机号为 “01”。 对应的十进制IP地址范围为 ~。 对应这个子网的子网掩码(或网络地址)为 11000000 00001001 11001000 01000000,为。 ( 3)第 3 个子网的 IP地址是从 “11000000