您好,欢迎访问三七文档
回顾循环语句while、do-while、for的区别是什么?inti=0,j=0;while(i7){if(j4){System.out.println(**);i++;continue;}System.out.println(*);j++;i++;}*********写出运行结果输出预习检查类与对象的关系是什么?定义一个类的语法是什么?如何创建一个类的对象?本章任务以OO方式实现:Accp学校类,描述Accp中心基本信息学生类,输出学生信息教员类,输出教员信息面向对象编程OOP旨在在计算机程序中模拟现实世界中的概念在OOP中,现实世界的所有事物全都被视为对象能够在计算机程序中用类似的实体模拟现实世界中的实体设计和实现软件系统的方法掌握类和对象的特征理解封装会创建和使用对象本章目标万物皆对象世界是由什么组成的?名胜人物品动物,植物……身边的对象布兰尼朱丽叶顾客姓名:朱丽叶年龄:28体重:52千克操作:购买商品姓名:布兰尼职衔:收银员年龄:35体重:60千克操作:收款打印账单对象的特征——属性属性——对象具有的各种特征每个对象的每个属性都拥有特定值例如:布兰尼和朱丽叶的体重不一样60kg布兰尼属性35岁收银员布兰尼对象的特征——方法方法——对象执行的操作打单收银方法刷卡收银员布兰尼对象的属性和方法列出尼古拉斯·凯奇驾驶的这辆法拉利F360Spider的属性和方法列出小狗对象的属性和方法属性:品牌:法拉利型号:F360Spider颜色:黄色价格:380万元方法:发动停止加速属性:颜色:白色方法:叫跑吃小结1说一说教室里的对象描述他们的属性和方法颜色:黑色品牌:BENQ投影姓名:张三年龄:20学习类型:白炽灯开关变亮变暗材制:木质支撑物品封装对象同时具有属性和方法两项特性对象的属性和方法通常被封装在一起,共同体现事物的特性,二者相辅相承,不能分割谁看见过只有“完好的零件和颜色”而不能开动的汽车?封装的示例接口采购经理罗杰斯先生法拉力公司.迪斯尼汽车公司.市场经理雪莉女士要求封装的示例有选择地提供数据法拉力公司迪斯尼汽车公司公共电话号码电子邮箱产品种类私有备件的制造方法备件库存备件的制造成本公共电话号码电子邮箱汽车种类私有汽车的组装方法汽车库存汽车的组装成本封装的示例实体法拉力公司实体迪斯尼汽车公司AutiLtd.ButoLtd.属性电话号码电子邮箱产品种类现有存货数量雇员详情所需物料详情属性电话号码电子邮箱汽车种类汽车规格雇员详情库存详情经销商详情方法接收订单备件的制造方法计算备件的制造成本计算利润率方法发出订单汽车的组装方法计算汽车的组装成本计算工资发出订单编制必要报告从对象抽象出“类”抽取出下列对象的属性和方法的共同特征顾客类顾客类轿车类…………类是模子,确定对象将会拥有的特征(属性)和行为(方法)类是对象的类型不同于int类型:具有方法各种口味的球状冰淇淋球状冰淇淋模子类类是用于组合各个对象所共有操作和属性的一种机制形状类动物类汽车类类的示例“类是具有相同属性和行为的一组对象的集合”类和对象的区别类是概念模型,定义对象的所有特性和所需的操作对象是真实的模型类和对象类定义实体对象是实际的实体类是对象的原型所有属于同一个类的对象都具有相同的特性和操作小结2类和对象有什么区别呢?类是抽象的概念,仅仅是模板,比如说:“人”对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”小布什普京克林顿……“人”类特征(属性)年龄体重行为(方法)衣食住行Java是面向对象的语言所有Java程序都以类class为组织单元关键字class定义自定义的数据类型publicclassHelloJava{publicstaticvoidmain(String[]args){System.out.println(使用Java语言理解程序逻辑);…}}Java类模板类将现实世界中的概念模拟到计算机程序中publicclass类名{//定义属性部分属性1的类型属性1;属性2的类型属性2;…属性n的类型属性n;//定义方法部分方法1;方法2;…方法m;}定义类定义一个类的步骤1、定义类名2、编写类的属性3、编写类的方法classname{typevariable1;…typevariableN;typemethodname1(parameter-list){//方法体}…typemethodnameN(parameter-list){//方法体}}Java中定义类的通用格式:成员变量(对象属性)成员方法(对象行为或操作)类示例在类中,属性是通过成员变量体现的,而操作是用成员函数(又称为方法)实现的。代码示例如果要对变量进行操作,classTest{inta=10;intb=20;intc;voidadd(){c=a+b;}}如果将“c=a+b;”写在add()方法之外,就是不合法的,如下:classTest{inta=10;intb=20;intc;c=a+b;//不合法的,编译不能通过voidadd(){}}常见错误publicclass.Book{StringbookName;StringauthorName;intpageNum;booleanisAvailable;}类命名规则:1、不能使用Java关键字2、首字母可以为字母,也可以是“_”或“$”(建议不要这样)3、不能包含空格或“.”号代码错误类示例定义一个“人”类ClassPerson{Stringname,sex;Intage;Floatheight,weight;}Person类属性:姓名性别年龄身高体重类中的方法方法的定义方法的名称参数列表方法的主体方法返回的对象类型或原始类型类中的方法语法returntypemethodname(type1arg1,type2arg2,…){setofstatements}其中,returntype是方法返回值的数据类型methodname是用户自定义的方法名称方法的参数列表是一组变量声明。setofstatements是方法的主体类中的方法不能为Java中的关键字不能包含空格或点号“.”可以下划线“_”、字母或“$”符号开头方法的命名规则:类中的方法classBook{StringbookName;StringauthorName;intnopages;booleanavailable;voidisAvailable(){if(available==true){System.out.println(有这本书);}}…..}方法1.下列方法定义中,正确的是(D)。A)intx(inta,b){return(a-b);}B)doublex(inta,intb){intw;w=a-b;}C)doublex(a,b){returnb;}D)intx(inta,intb){returna-b;}2.下列方法定义中,正确的是(D)。A)voidx(inta,intb);{return(a-b);}B)x(inta,intb){returna-b;}C)doublex{returnb;}D)intx(inta,intb){returna+b;}3.下列方法定义中,不正确的是(D)。A)floatx(inta,intb){return(a-b);}B)intx(inta,intb){returna-b;}C)intx(inta,intb);{returna*b;}D)intx(inta,intb){return1.2*(a+b);}4.下列方法定义中,正确的是(A)。A)intx(){charch='a';return(int)ch;}B)voidx(){...returntrue;}C)intx(){...returntrue;}D)intx(inta,b){returna+b;}类示例定义一个圆类ClassCircle{doublebj=1.0;doubleymj(){returenbj*bj*3.14159;}}Circle类属性:半径方法:求圆面积下面是一个类的定义,请将其补充完整。class_____{Stringname;intage;Student(_____s,inti){name=s;age=i;}}(StudentString)5.下面是一个类的定义,请将其补充完整。___________A{Strings;_____inta=666;A(Strings1){s=s1;}staticintgeta(){returna;}}(classstatic)对象表示现实世界中某个具体的事物抽象是从特定的实例中抽取共同的性质以形成一般化概念的过程对象具有两方面的含义:在现实世界中:是客观世界中的一个实体在计算机世界中:是一个可标识的存储区域对象类和对象类是具有共同属性和行为的对象的抽象类可以定义为数据和方法的集合类也称为模板,因为它们提供了对象的基本框架类对象抽象实例化属性或状态操作或行为数据或变量方法封装的实体=数据+方法对象类是抽象,而对象是具体(实例化)。对象的创建:创建对象的过程就是实例化类的过程创建的步骤:1、对象的声明2、对象的实例化及对象的初始化创建对象声明对象:类名对象名;例如:存在一个类:classPeople{inta;Stringname;}然后即可声明该类的对象:Peoplegalen;对象的实例化及初始化对象名=new类名();关键字new通常称为创建运算符,用于分配对象内存,并将该内存初始化为缺省值。也可以利用下面的语法把声明和实例化用一条语句:类名对象名=new类名();创建对象例如,实例化上面已经声明的galen对象:galen=newPeople();例如Peoplegalen=newPeople();当创建一个类时,只是创建了一种新的数据类型。对象是类的一个实例。classFruitDemo{publicstaticvoidmain(Stringargs[]){Fruitf=newFruit(true,false,50.0F);}}创建对象对象示例1.设A为已定义的类名,下列声明A类的对象a的语句中正确的是(D)。A)floatAa;B)publicAa=A();C)Aa=newint();D)staticAa=newA();2设A为已定义的类名,下列声明A类的对象a的语句中正确的是(A)。A)publicAa=newA();B)publicAa=A();C)Aa=newclass();D)aA;3.设X、Y均为已定义的类名,下列声明类X的对象x1的语句中正确的是(C)。A)publicXx1=newY();B)Xx1=X();C)Xx1=newX();D)intXx1;4.设X、Y为已定义的类名,下列声明X类的对象x1的语句中正确的是(A)。A)staticXx1;B)publicXx1=newX(int123);C)Yx1;D)Xx1=X();5.设A、B均为已定义的类名,下列声明类A的对象a1的语句中正确的是(C)。A)publicAa1=newB();B)Aa1=A();C)Aa1=newA();D)intAa1;6.设A、B为已定义的类名,下列声明A类的对象a1的语句中正确的是(A)。A)staticAa1;B)publicAa1=newA(int123);C)Ba1;D)Aa1=A();7.有一个类Person,以下为其构造方法的声明,其中正确的是(A)。A)publicPerson(intx){...}B)staticPerson(intx){...}C)publica(intx){...}D)voidPerson(intx){...}8.有一个类Student,以下为其构造方法的声明,其中正确的是(B)。A)voidStudent(intx){...}B)Student(intx){...}C)s(intx){...}D)vo
本文标题:JAVA类和对象
链接地址:https://www.777doc.com/doc-1871079 .html