首  页 | 资讯中心 | 网络学院 | 天新汽车 | 天新手机 | 天新游戏 | 软件开发 | 考试认证
品 牌 机 | 笔 记 本 | 服 务 器 | 天新数码 - DC - DV - MP3 - MP4 - GPS - TV | 数字家庭
硬件 DIY - 主板 - CPU - 内 存 - 硬 盘 - 显示器 - 显卡 - 光驱 - 机箱 - 键鼠 - 网络设备
办公设备 | 打 印 机 | 扫 描 仪 | 投 影 仪 | 一 体 机 | 传 真 机 | 路 由 器 | 交 换 机
软件下载 | 驱动下载 | 游戏下载 | 源码下载 | 教程下载 | 站长在线 | 产品中心 | 报价中心
开发首页 | 开发语言 | .Net开发 | Java开发 | Web开发 | 移动开发 | 游戏开发 | 数据库开发 | 企业开发 | 操作系统 | 软件工程
VB VC Delphi PB BCB C++ - ASP.net C# VB.net - J2EE J2SE J2ME EJB - ASP PHP JSP CGI - MSSQL Oracle DB2 MySQL - CodingLife
  Java开发首页 | Java基础 | Java高级编程 | J2EE | J2SE | EJB | J2ME | Servlet/JSP | Applet/Swing | Struts/Hibernate
  您现在的位置:天新网 > 软件开发 > Java开发 > Java基础 > Java语言基础
Java咖啡馆(8)——大话面向对象(下)
http://dev.21tx.com 2005年03月25日 电脑爱好者 Gary Chan

每日文章精萃
.Net:编写随Windows启动运行的程序 Java:JBuilder2005实现重构之分布式重构
ASP:一个不需要第三方组件,可实现华简单 PHP:第五节--克隆 -- Classes and Object
JSP:JSP与Java Mail API CGI:CGI教程(5)利用CGI解码FORM
VB:在Visual Basic 6.0 中创建Word文档 VC:编程修养(一)

1 2 3 下一页

  构思这篇咖啡馆的时候时值奥运圣火熊熊燃烧,看到中国奥运代表团努力为国争光,不由不决定把这次的主题献给我们的奥运健儿!

面向对象编程

  如果你是Java咖啡馆的常客,那么在不知不觉中你早已接触并运用过Java的面向对象知识。在这回的咖啡馆中,让我们详细剖析一个面向对象编程的实例,把知识巩固下来。

  奥运是国际性的运动盛会,中国运动员自然要用英文形式的名字才便于同国际接轨。这回要编写的程序便是用来解析英文名字的工具。通常,Gary Chan这样的英文名字形式表示名在前、姓在后。而Yao, Ming这样的形式则表示姓在前名在后。大家千万不要以为Gary在这里平白无故用Yao, Ming打广告,Yao初中时候可是跟Gary一个班的,他被语文老师仰着头臭骂痛哭后,经常是Gary安慰他,并经常一同骑车回家。看着今日的Yao已经是世界级的运动员为国争光了,Gary更需要加倍努力了……

  OK,言归正传,我们的程序将自动判断名字形式,并且分解出姓和名。还是老规矩,请用Eclipse生成一个名为Chap 07 NameParser的项目,并且加入一个新的名为NameParser类,在Package属性填写com.cfan.garychan.nameparser。如果你忘记了package的知识,请参考《Java咖啡馆(6)—编写猜数字游戏 》中关于包概念的描述。

  回顾一下,类是定义了从类生成的实例(instance)中的数据和方法的关系的模板。有人喜欢把类比作图章,图章敲出来的图案便是对象,的确很形象。

  Java中用class关键字来定义类,不过我们用Eclipse来定义更加方便。仍然用Eclipse新建一个叫做Namer的类,记得不要在public static void main(String[] args)前面打勾,确定后Eclipse便生成一个新的Java源文件Namer.java,里面的代码如下:

public class Namer {

}

  这个类非常简单,可惜不能做任何事情。

  1.封装

  面向对象程序设计中,一个非常重要的技术便是封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。这样做的好处在于可以使类内部的具体实现透明化,只要其他代码不依赖类内部的私房数据,你便可以安心修改这些代码。此外,这样做也是出于安全方面的考虑,如果代表网上支付卡密码的变量随便就可以被访问到,这样的系统谁还敢用呢?

  封装主要依靠对类、数据和方法的访问控制,从语法上讲就是加上private、protected、public等关键词,如果没有关键词修饰则默认为package。它们控制权限如下表所示:

Specifier 类 子类 包 世界
private X
protected X X* X
public X X X X
package X X

  注意上面的X*,父类的protected部分,只有在与父类在同一个包内的子类才能够访问,否则也是不可访问的。

  让我们结合实例理解一下。稍微把Namer类改一下:

public class Namer {
    protected String surname;  // 姓
    protected String firstname; // 名

    public String getFirstname() {
        return firstname;
    }

    public String getSurname() {
        return surname;
    }
}

  这个类有两个String类型的成员变量,surname和firstname,分别用来储存姓和名。这两个成员变量前都有protected修饰词,按照表格,这两个变量仅能够被类本身、子类以及包中其他类操作,而包外的类则无权访问。不过,为了跟包外的代码进行沟通,Namer类提供了getFirstname和getSurname这两个public的方法。从而,对包外的类而言,姓名数据是只读的。

上一篇: java 跳转语句
下一篇: java 类基础

1 2 3 下一页

编辑推荐
相关内容
·数组排序1例
·JAVA 方法重载
·浮点型(Floating-Point Types)
·字符
·布尔型
·C/C++程序员请注意指针的用法
·Java学习:了解什么叫做JavaBean
·印度软件水平和中国的程序员
·我看java好坏
·全面保护你的Java程序安全(上)
·Java咖啡馆(7)——大话面向对象(上)
·Java咖啡馆(5)——Java语言基础
·Java咖啡馆(6)——编写猜数字游戏
·Java咖啡馆(4)——品味第一杯咖啡
·Java咖啡馆(3)——Eclipse
·Java咖啡馆(2)——第一杯咖啡
·仔细触摸Java编程中的“文档”和“包”
·JAVA - IO包的学习引导文章
·高效编写JAVA代码的30条建议
·第十九讲 动画制作及声音载入(二)
最近更新
人气最热
·运算符优先级
·使用圆括号
·Java 的选择语句
·java 循环语句
·java 跳转语句
·java 类基础
·java 声明对象
·java 方法
·构造java函数
·this关键字
·Java咖啡馆(3)——Eclipse
·Java咖啡馆(1)——叹咖啡
·Java运行时多态性的实现
·Java文件操作大全
·java 类基础
·Java咖啡馆(4)——品味第一杯咖啡
·java 方法
·java日期格式化
·Java咖啡馆(2)——第一杯咖啡
·经典java问题,你能答出几个?

 
·[硬件]金属外壳 SMC54M无线路由器售价380元
·[数码]Sony NWA-00x最新推出系列MP3播放器
·[汽车]五一黄金周 北京自驾游10条最佳路线推
·[开发]判断WINDOWS是正版还是盗版
·[资讯]研究称模要仿造人类 “镜像神经元”是
·[游戏]梦幻之星专区
·[本本]华硕NB自有品牌将和代工业务分离
·[办公]千奇百怪 办公趣味百科—传真篇
·[手机]智能强机 诺基亚百万像素3230仅售2099
·[考试]假如让我选择“非著名高校”
·[学院]自动重启怪病 跟显卡松动有关?
·[娱乐]裸晒
 

关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图
Copyright © 2000-2008 , www.21tx.com , All Rights Reserved .
© 晨新科技 版权所有 Created by TXSite.net