1、4.1 Java面向对象基础4.2 对象创建和引用4.3 成员变量4.4 方法4.5 包4.6 访问权限4.7 应用实例1:面向对象的简单计算器4.8 应用实例2:饮料自动售货机面向对象思想有两大特点,即抽象和封装。面向对象正是通过抽象和封装来反映和描述现实世界中存在的事物。所谓抽象就是从研究的现实世界事物中抽取与工作有关的、能反映事物性质的东西,把它用对象来进行描述。类又是对一组具有相同特性对象的抽象,若将类进行实例化与具体化,则会生成这个类中的一个个对象。Java是通过类来创建一个个对象,从而达到代码复用的目的。4.1.1 类和对象类是一个静态的概念,它是一个模型,而对象则对应一个值。对象
2、是一个具体的存在,它是类的具体实例化。类与对象的关系相当于模型和具体实例的关系。单一对象本身并不是很有用处,多个对象合作工作才能完成比较复杂的工作。在一个较大类型程序中往往包含许多对象,通过这些对象的信息交互,可以使程序完成各种功能。在软件系统的构建过程中尽可能运用人类的自然思维方式,从现实世界中客观存在的事物(即对象)出发来构造软件系统。类是具有相同属性和功能的一类事物抽象出来的概念,它为属于该类的所有对象提供了统一的抽象描述,并用一定的语法格式进行描述。类是创建对象的模板,类所创建的对象是软件系统中用来描述客观事物的一个实体,它是构成软件系统的一个基本单位。public static vo
3、id main(String args)Hammer hammer1=new Hammer(羊角锤);Hammer hammer2=new Hammer(平角锤);Nail nail1=new Nail(5);Nail nail2=new Nail(6);Nail nail3=new Nail(7);hammer1.hit(nail1);hammer1.hit(nail2);hammer2.hit(nail3);对象是这样一个实例,它是类模板的单独的拷贝,带有自己的称为实例变量的数据集。当定义一个变量的类型是某个类时,它的缺省值是null,null是Object的一个实例。null是没有任何值
4、的意思,它和整数0不同。成员变量声明:变量修饰符 类型 变量名=初值,变量名=初值;【语法说明】(1)类型是成员变量的类型。(2)变量名称是Java的合法定义标识符,它可以是多个。在多个变量名称间必须用“,”隔开。每个变量可以设置自己的初始值。(3)修饰符说明了成员变量的访问权限和使用规则。方法的声明格式如下:方法修饰符 返回值类型 方法名(参数表)方法体【语法说明】定义方法时一定要给出返回值类型和参数表。当没有返回值时,返回值类型记为void。参数表的形式为:参数类型 参数值,参数类型 参数值在 Java 中,包的概念和目的都与其他语言的函数库非常类似,所不同的只是其中封装的是一组类。为了开
5、发和重用的方便,可以将写好的程序类整理成一个个程序包。Java 自身提供了多个预先设定好的包,具体包的定义及功能参看Java的API。设计时可以引用这些包,也可以创建自己的包。Java的包(package)中包含一系列相关的类,同一个包中的类可直接互相使用,对包外的类则有一定的使用限制。Java的包近似于其他语言的函数库,可提供重用的方便。访问限制修饰符有private、protected和public,这些都是java的关键字,用来修饰成员变量或方法。将两个操作数的二元运算表达式封装成一个表达式的类(Expression),该类中包含有double类型的两个操作数(num1和num2),还包含有一个char类型的运算符(sign),共3个属性。在方法上主要包含有获取和设置操作数及运算符的get和set方法,以及常用的二元运算:加减乘除等方法。若投入5角钱或1元钱的硬币,按下橙汁或啤酒的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时在投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还5角硬币