使用Java开始面向对象的编程

原创 2004年07月04日 17:46:00

Tuesday, September 4 2001 6:05 PM

  study;sz=1x1;ord=47815384?

你正在从传统的过程化的编程转向面向对象的开发模式吗?还是想要进入膨胀的Java世界呢?你不会感到孤单的.成千上万的开发者和你处在相同的情形之下.在这系列文章中,我们将使用Java语言带领你一步一步的学习面向对象的开发过程.下面是我们这个系列文章的第一篇:


一种语言是面向对象的究竟意味着什么呢?如果一种编程语言是真正的面向对象的语言,它必须支持以下的特点:

封装--隐藏实现细节
多态--将同一个消息发送给不同的对象并使各个对象以预定的方式对消息做出响应的能力
继承--拓展现存的类来生成专有类继承原来类的状态和行为的能力
动态绑定--在编程时不必知道对象的具体类型就能向它们发送消息的能力

让我们考察一下Java是如何支持这些功能的以及它又如何提供了附加的功能来使得从过程化的程序设计到面向对象的开发的转变过程相对容易.


Java中面向对象的特点
Java是由Sun Microsystems公司在九十年代中期发布的面向对象(OOP)的编程语言.你可以从Sun公司的网站上下载最新的Java开发包(JDK).Java是一种解释性的语言,这意味着其源程序首先被编译成中间代码的形式,然后在每次运行之前都要经过虚拟机的解释,它是彻头彻尾的面向对象的编程语言.

Java对程式员隐藏了许多传统的面向对象编程语言--比方说C++和Object Pascal--的复杂性和让人容易混淆的地方.例如,Java中没有了指针,Java会为程序员自动的清除引用类型,而且所有变量将被自动初始化成适当的缺省值.除了原始数据类型以外,Java中的所有东西都是对象,必要的时候,甚至可以为原始数据类型也提供封装机制.


对象简介

对象是代表现实生活中的实物的软件编程实体,比如说银行帐号,计算机用户,用户介面上的按钮,窗口菜单等等.对象是由它们的状态和行为定义的.例如,一个银行帐号拥有一种状态,诸如当前的收支状况,账户的所有人,允许的最小交易额,等等,而它的行为则包括提取,存入,收支平衡等.

一个对象的状态是由只有对象自己知道的变量定义的.Java把这些变量称为数据域或者成员变量.数据域对对象来说是私有的除非显式的使用关键字来定义它们的作用域,使它们对其它类可见.我们将在以后讨论变量作用域的问题.

一个对象的行为是由它上面的操作定义的.在Java中,这些操作被叫做方法.方法可以改变一个对象的状态,创建新对象,实现实用的功能等.



类是一个实体,它定义了一个对象的运行方式以及在对象被创建或者说实例化的时候所包含的数据.类的作用就象一个模板,一个或者多个对象可以依照它来创建.下面是使用Java面向对象的概念申明HelloWorld应用程序的例子:

public class HelloWorld
{
    private String helloMsg = "Hello World!";
    public static void main(String[] args)
    {
        HelloWorld hw = new HelloWorld();
     }

    public HelloWorld()
    {
    // 显示我们的"Hello World"消息
    System.out.println(helloMsg);
    }
}


上面的例子定义了一个模板,真实的HelloWorld对象可以从这个模板创建.你还会注意到从public static void main(String[] args)这一行开始的一段奇怪的代码.这一段代码定义的是一个特殊的方法main,它其实就是我们这个HelloWorld程序的入口点,上面的程序是一个典型的演示所有的Java应用程序如何定义它们的入口点.注意到即使是这个main入口点也被封装在类里面.对于这个例子,我们就是将它封装在HelloWorld类里.上面的程序展示了如何定义一个类,HelloWorld,以及其中的一个数据域,helloMsg和两个方法main和HelloWorld.HelloWorld方法是一种特殊的方法,这种方法被称做构造函数.我们将在后面的文章里讨论常规方法,构造函数和静态成员函数的细节和区别.

在Java中,所有与一个特殊的类有关的源代码都写在一个与类同名的拥有后缀名.java的文件里.Java编译器读取源文件并将它们翻译成平台无关的,二进制格式的代码,成为字节代码,然后将这些代码分类保存在与类同名的但是后缀为.class的文件里.你最终会为每一个类得到一个class文件.


编译并运行我们的例子程序

一旦你已经从Sun的Web站点上下载了JDK并在你的机器上安装了它,你就可以开始编译并运行Java程序了.要编译并运行我们的例子程序,将HelloWorld类的代码粘贴到你最喜欢的文档编辑器里,将文件保存为HelloWorld.java,然后,在命令提示符下,将当前路径改变到包含了这个文件的路径里.现在你就可以在命令行提示符下键入下面的命令来编译程序了:

Windows:
<你的JDK所在目录>/bin/javac HelloWorld.java

UNIX or Linux:
<你的JDK所在目录>/bin/javac HelloWorld.java

这个命令将在同一个目录里产生一个新的文件,叫做HelloWorld.class.要运行这个程序,请在命令提示符下键入下面的命令:

Windows:
<你的JDK所在目录>/bin/java HelloWorld

UNIX or Linux:
<你的JDK所在目录>/bin/java HelloWorld

你应该可以看到屏幕上显示Hello World!

总结
我们已经接触到了使用Java程序设计语言进行面向对象的编程的一些皮毛知识.下次,我们将剖析我们的例子程序,给它添加更多的功能,并讨论更多的有关对象,类和其它面向对象编程的基本概念以及用Java如何实现它们.
 

使用Java开始面向对象的编程

on error resume next ShockMode = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5")))你正在从传统的过...
  • PerseusYan
  • PerseusYan
  • 2005年04月11日 22:38
  • 730

使用JAVA开始面向对象的编程

使用JAVA开始面向对象的编程   你正在从传统的过程化的编程转向面向对象的开发模式吗?还是想要进入膨胀的Java世界呢?你不会感到孤单的.成千上万的开发者和你处在相同的情形之下.在这系列文章中,我们...
  • xwj1003
  • xwj1003
  • 2004年07月07日 16:27
  • 835

Java中面向对象的编程概念

面向对象的编程概念(1)-java学习之路一、对象  在面向对象的编程设计中,对象当然是最基本的概念。不知道何为对象,怎么面向对象呢。   对象一词最早来源于哲学,讲到“一切皆对象”,在这里不讨论哲...
  • qq_32401975
  • qq_32401975
  • 2016年06月07日 21:21
  • 671

java学习之路 - 面向对象编程-数组-练习题(3)

public class ArrayTest { //创建一个包含十个int型数据的数组,int型元素为1-20之内随机数,并求和、最大值、最小值、并遍历输出 public static void...
  • OnlyLove_longshao
  • OnlyLove_longshao
  • 2016年07月31日 22:47
  • 1056

面向对象编程基础 二 this的用法

this可以简单的理解为当前的对象,在构造对象时可以理解为对象的第一人称“我”。this一般被分为三种用法: 1、this表示对象成员变量的引用而非函数参数变量,如下面的代码 public class...
  • xinsuixiaofeiyu
  • xinsuixiaofeiyu
  • 2014年03月12日 10:25
  • 1156

PHP面向对象中的构造函数和析构函数

构造函数 __construct()。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。 析构函数 __destruct()析构函数会在到某个对象的所有引...
  • zdreamblog
  • zdreamblog
  • 2017年01月05日 23:01
  • 424

java面向对象编程思想的理解

1、我们总说java是一门面向对象编程的语言,那什么是面向对象呢? 我是这样理解的,对象是事物存在的实体,现实中,随处可见的事物便是对象,如人类、书桌、计算机、高楼大厦等。人类解决问题的方式总是将复杂...
  • u012316953
  • u012316953
  • 2016年10月05日 18:02
  • 4251

Java 入门之开始面向对象的编程

你正在从传统的过程化的编程转向面向对象的开发模式吗?还是想要进入膨胀的Java世界呢?你不会感到孤单的.成千上万的开发者和你处在相同的情形之下.在这系列文章中,我们将使用Java语言带领你一步一步的学...
  • wangyongligood
  • wangyongligood
  • 2007年10月24日 00:01
  • 248

OOP:面向对象编程

从了解Java一直被告诉OOP,可是OOP到底是神马呢?一直是只知其然不知其所以然,虽然现在还是表述不清楚其内涵,就先把大家的标准答案整理一下吧。 OOP:Object Oriented...
  • Pangzi23
  • Pangzi23
  • 2015年10月29日 14:44
  • 312

java 面向对象的开始

Java面向对象 面向对象的开发,设计,特征 开发过程:就是不断的创建对象,使用对象和指挥对象的过程 设计过程:其实就是在管理和维护对象之间的关系 面向对象的特征:封装,继承,和多态成...
  • heisedelangzi
  • heisedelangzi
  • 2015年06月30日 00:44
  • 295
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Java开始面向对象的编程
举报原因:
原因补充:

(最多只允许输入30个字)