摘要:Java OOP简单介绍(一)
Java语言是纯粹的面向对象的程序设计语言,这主要表现为Java完全支持面向对象的三种基本特征: 继承、封装、多态。 Java语言完全以对象为中心,Java程序的最小单位是类,整个Java程序由一个一个类组成的。
Java完全支持使用对象、类、继承、封装、消息等基本概念来进行程序设计,允许从现实世界中客观存在的事物(即对象)出发来构造软件系统,在系统构造中尽可能运用人类的自然思维方式。
面向对象的方式实际上由 OOA(面向对象分析)、OOD(面向对象设计)和OOP(面向对象编程)三个部分有机组成。其中,OOA和OOD的结构需要使用一种方式来描述并记录,目前业界统一采用UML(统一建模语言)来描述并记录OOA和OOD的结果。
Java是面向对象的程序设计语言,类是面向对象的重要内容,可以把类当成一种自定义类型,可以使用类来自定义变量,这种类型的变量统称为引用变量。也就是说,所有类都是引用类型。
多态:
Java引用变量有两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就可能出现所谓的多态。
相同类型的变量调用、调用同一个方法时呈现出多种不同的行为特征,就是多态。
当把子类对象赋值给父类引用变量时,被称为 向上转型。这种转型通常是成功的,这也从侧面证实了子类是一种特殊的父类。 这种转型知识表明这个引用变量的编译时类型是父类,但实际执行他的方法时,依然表现出子类对象的行为方式。
但是把一个父类对象赋值给子类引用变量时,就需要强制类型转换,而且还可能在运行时产生ClassCastException异常,使用instanceof 运算符可以让强制类型转换更安全。
instanceof 运算符
它的前一个操作数通常是一个引用类型变量,后一个操作数通常是一个类(也可以是接口,可以把接口理解成是一种特殊的类),它用于判断前面的对象是否是后面的类,或者子类,实现类的实例。如果是,则返回true,否则返回false。
初始化块:
它也可以对java对象进行初始化操作。
它的修饰符只能是static,使用static修改的初始化块被称为 静态初始化块。也称为类初始化块。
初始化只在创建Java对象时隐式执行,而且在执行构造器之前执行。
执行顺序:
类初始化阶段。先执行最顶层父类的静态初始化块,然后依次向下,直到执行当前类的静态初始化块。
对象初始化阶段。先执行最顶层父类的初始化块、最顶层父类的构造器,然后依次向下,知道执行当前类的初始化块、当前类的构造器。
Java OOP(一)
原文:http://www.cnblogs.com/FocusIN/p/6339806.html