快速业务通道

Java面向对象编程实例详解 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21

Java面向对象编程实例详解

时间:2011-01-16 zdnet 龚赤兵

Java是一种面向对象的语言,是实现面向对象编程的强大工具。但如何在编程中实际运用并发挥其最大效能呢?本文通过一个实际Java程序的开发过程,详细说明了如何使用面向对象实现Java编程。

我们要实现的Java应用程序是:当用户输入一个球体的半径,程序将显示该球体的体积与表面积。在您阅读下文以前,请您自己思考一分钟,您将如何设计该Java应用程序。

一、普通实现方法

我相信大多数程序员要实现上述功能的程序,非常迅速地、自信地将采用下面的实现代码:

class Sphere { public static void main(String[] args) { EasyReader console = new EasyReader(); System.out.print("Enter the radius: "); double radius = console.readDouble(); System.out.println("Radius = " + radius); double volume = 4.0 / 3.0 * Math.PI * radius * radius * radius; System.out.println("Volume = " + volume); double surfArea = 4.0 * Math.PI * radius * radius; System.out.println("Surface area = " + surfArea); } }

EasyReader类代码如下:

import java.io.*; public class EasyReader { protected String myFileName; protected BufferedReader myInFile; protected int myErrorFlags = 0; protected static final int OPENERROR = 0x0001; protected static final int CLOSEERROR = 0x0002; protected static final int READERROR = 0x0004; protected static final int EOF = 0x0100; /** * Constructor. Prepares console (System.in) for reading */ public EasyReader() { myFileName = null; myErrorFlags = 0; myInFile = new BufferedReader( new InputStreamReader(System.in), 128); } /** * Constructor. opens a file for reading * @param fileName the name or pathname of the file */ public EasyReader(String fileName) { myFileName = fileName; myErrorFlags = 0; try { myInFile = new BufferedReader(new FileReader(fileName), 1024); } catch (FileNotFoundException e) { myErrorFlags |= OPENERROR; myFileName = null; } } /** * Closes the file */ public void close() { if (myFileName == null) return; try { myInFile.close(); } catch (IOException e) { System.err.println("Error closing " + myFileName + "\n"); myErrorFlags |= CLOSEERROR; } } /** * Checks the status of the file * @return true if en error occurred opening or reading the file, * false otherwise */ public boolean bad() { return myErrorFlags != 0; } /** * Checks the EOF status of the file * @return true if EOF was encountered in the previous read * operation, false otherwise */ public boolean eof() { return (myErrorFlags & EOF) != 0; } private boolean ready() throws IOException { return myFileName == null || myInFile.ready(); } /** * Reads the next character from a file (any character including * a space or a newline character). * @return character read or <code>null</code> character * (Unicode 0) if trying to read beyond the EOF */ public char readChar() { char ch = ''\u0000''; try { if (ready()) { ch = (char)myInFile.read(); } } catch (IOException e) { if (myFileName != null) System.err.println("Error reading " + myFileName + "\n"); myErrorFlags |= READER

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号