【精品】java语言程序设计(一)串讲(可编辑.ppt

上传人:1595****071 文档编号:71300315 上传时间:2023-02-02 格式:PPT 页数:355 大小:4.96MB
返回 下载 相关 举报
【精品】java语言程序设计(一)串讲(可编辑.ppt_第1页
第1页 / 共355页
【精品】java语言程序设计(一)串讲(可编辑.ppt_第2页
第2页 / 共355页
点击查看更多>>
资源描述

《【精品】java语言程序设计(一)串讲(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】java语言程序设计(一)串讲(可编辑.ppt(355页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Java语言程序设计(一)串讲目录目录:第:第1、2章章Java基础知识基础知识:第:第3章面向对象编程基础章面向对象编程基础:第:第4章数组与字符串章数组与字符串:第:第5、6章图形界面设计章图形界面设计:第:第7章图形图象与多媒体章图形图象与多媒体:第:第8章多线成章多线成:第:第9章输入输出流章输入输出流:第:第10章网络与数据库编程基础章网络与数据库编程基础:考情分析(即应试指导):考情分析(即应试指导):附自考乐园诚与天下自考人共勉:附自考乐园诚与天下自考人共勉 基础知识部分重点基础知识部分重点:应用程序和小应用程序的基础知识程序的开发过程基本数据类型算术运算、关系运算、逻辑运算、自

2、增自减运算。JAVA语句JavaJava语言基础知识语言基础知识一、什么是程序一、什么是程序 生活中的程序:程序一词来自生活,通常指完成某些事务的一种既定方式和过程 在日常生活中,可以将程序看成对一系列动作的执行过程的描述计算机程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序 指令的集合.JavaJava语言基础知识语言基础知识二、为什么学习二、为什么学习JAVAJAVA Java是Sun Microsystems于1995年推出的高级编程语言 Java 领域的JavaSE、JavaEE技术已发展成为同C#和.NET平分天下的应用软件开发平台和技术三、三、JAVAJAVA能作什么

3、能作什么 开发桌面应用程序 银行软件、商场结算软件开发面向Internet的应用程序 网上数码商城、阿里巴巴、易趣网第一个第一个JavaJava程序程序 publicclassHelloWorldpublicstaticvoidmain(Stringargs)System.out.println(“你好你好!JAVA课程课程);publicclassHelloAccppublicstaticvoidmain(Stringargs)System.out.println(“你好!JAVA课程);关键字高亮关键字高亮显示显示类名与文件类名与文件名完全一样名完全一样main方法是方法是Java程序程序

4、执行的入口点执行的入口点和和一一对应,一一对应,缺一不可缺一不可main方法四要素方法四要素必不可少必不可少从控制台输出信息从控制台输出信息变量变量1、概念:是存储数据的一个基本单元。2、变量的声明和赋值 数据类型 变量名 =数值;数据类型 变量名;变量名=数值;第一步:声明一个变量第二步:赋值第三步:使用变量根据类型开辟空间 将数据存入空间 取出数据使用 使用变量的步骤:使用变量的步骤:数据属于不同类别非洲ThequickbrownfoxTRUE数据非数值数值整型非整型9002.129999/12/20032.175123陈扬char非数值数值整型intdouble非整型StringJava

5、数据类型数据类型数据类型数据类型说明数据类型说明更多优质自考资料尽在百度贴吧自考乐园俱乐部数据类型说明数据类型说明更多优质自考资料尽在百度贴吧自考乐园俱乐部1、字母2、下划线_3、$符号首字母任意多的:1、数字2、字母3、下划线_4、$符号其余部分变量名Java语言中,变量命名要符合一定规则变量命名规范:简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的首字母大写。例如:myScore 变量命名规则变量命名规则变量名表达式;赋值运算符赋值运算符Z=(X*2)+(5Y)表达式表达式表达式赋值运算符表达式举例算术运算符算术运算符基本的算术运算操作数操作数运算符比较高低、大小、长短

6、张三的考试成绩是否比李四高大象是否比乌龟更长寿篮球跟地球一样大吗如何比较?使用关系运算符可以比较高低、大小、长短使用关系运算符使用关系运算符什么是关系运算符什么是关系运算符常用的关系运算符有哪些:,=,=大象的寿命 李四的成绩 假令狐冲每次考试成绩=90分 真篮球的大小=地球的大小 假由此看出关系运算符的作用:用来做比较运算比较后结果:boolean类型在某种条件下,系统自动完成类型转换两种类型兼容例如:int和double兼容目标类型大于源类型例如:double型大于int型对于表达式如果一个操作数为double型,则整个表达式可提升为double型自动类型转换自动类型转换-类型提升规则类型

7、提升规则intbefore=20;/apple笔记本市场份额doublerise=9.8;/增长的份额intnow=before+rise;/现在的份额intnow=before+(int)rise;去年Apple笔记本所占的市场份额是20,今年增长的市场份额是9.8,求今年所占的份额?编译出错:不能完成自动类型转换(类型名)表达式强制类型转换intb=(int)10.2;doublea=10;intc=(int)a;强制类型转换强制类型转换更改为强制类型转换什么是什么是ifif条件结构条件结构if条件结构是根据条件判断之后再做处理if(if(条件条件 )/语句语句 if(javaif(jav

8、a成绩成绩 90)90)可以快速上岗;可以快速上岗;结合问题结合问题2 2基本的if条件结构表达式表达式语句语句假假真真如何使用如何使用if条件结构条件结构 3、小明Java成绩大于90分,而且音乐成绩大于80分,父母奖励他;或者Java成绩等于100分,音乐成绩大于70分,父母也可以奖励他分析:怎样把多个条件连接起来?分析:怎样把多个条件连接起来?使用逻辑运算符使用逻辑运算符如何使用如何使用if条件结构条件结构 if-else条件结构条件结构if(条件条件)/语句语句1 else /语句语句2 if(小明考试成绩小明考试成绩 90)父母奖励小明;父母奖励小明;else 父母罚他不许玩电脑;父

9、母罚他不许玩电脑;结合问题结合问题4真真表达式表达式语句语句1假假语句语句2多重if结构就是在else部分中还包含其他if块 什么是多重什么是多重ifif结构结构 if(条件)/语句 else if(条件)/语句 else /语句 可以有多个可以省略多重if结构假真真假表达式1语句1表达式2语句2语句3switch(表达式)case 常量 1:语句;break;case 常量 2:语句;break;default:语句;switch结构什么是什么是switchswitch结构结构计算表达式的值如果等于常量1如果等于常量2如果没有找到匹配的值常见错误常见错误intmingCi=1;switch(

10、mingCi)case1:System.out.println(出任武林盟主出任武林盟主);case2:System.out.println(出任武当掌门出任武当掌门);case3:System.out.println(出任峨嵋掌门出任峨嵋掌门);default:System.out.println(被逐出师门被逐出师门);输出结果是什么?输出结果是什么?如果需要每个如果需要每个case执行完后跳出,执行完后跳出,在每个在每个case后不要忘记写后不要忘记写break;常见错误常见错误intmingCi=1;switch(mingCi)case1:System.out.println(出任武林

11、盟主出任武林盟主);case2:System.out.println(出任武当掌门出任武当掌门);case2:System.out.println(出任峨嵋掌门出任峨嵋掌门);default:System.out.println(被逐出师门被逐出师门);case后面的常量必须各不相同后面的常量必须各不相同代码错误代码错误常见错误常见错误String day=星期一星期一;switch(day)case 星期一星期一:System.out.println(星期一:青菜星期一:青菜 );break;case 星期二星期二:System.out.println(星期二:鱼星期二:鱼 );break;

12、default:switch后面小括号中表达式的值必后面小括号中表达式的值必须是整型或字符型须是整型或字符型代码错误代码错误比较比较switchswitch和多重和多重ifif结构结构相同点相同点不同点不同点switch多重if都可以实现多分支结构只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断处理在else部分还包含其它if结构,特别适合某个变量处于某个区间时的情况什么是循环什么是循环:打印50份试卷10000米赛跑旋转的车轮循环结构的特点循环结构 循环条件循环操作锲而不舍地学习生活中的循环什么是什么是whilewhile循环循环特点:先判断,再执行步骤:使用while循环的步骤

13、1、分析循环条件和循环操作2、套用while语法写出代码3、检查循环是否能够退出while(while(循环条件循环条件 )循环操作循环操作 符合条件,循环继续执行;符合条件,循环继续执行;否则,循环退出否则,循环退出循环中被重复循环中被重复执行的操作执行的操作int i=1;int i=1;while(i =30 )while(i =30 )System.out.println(System.out.println(我能行!我能行!););i+;i+;编码规范:缩进、换行编码规范:缩进、换行循环操作循环操作 循环条件循环条件 真真假假while循环常见问题循环常见问题/*打印4次“欢迎新同学

14、”*/publicstaticvoidmain(Stringargs)inti=0;while(i4)System.out.println(“欢迎新同学);i+;永远都不会退出的循环称为死循环循环一直执行,不会退出,哪里出错了?while循环常见问题循环常见问题/*打印4次“欢迎新同学”*/publicstaticvoidmain(Stringargs)inti=1;while(i4)System.out.println(“欢迎新同学);i+;i5)System.out.println(“欢迎新同学);i+;注意:如果一开始条件就不满足,while循环一次都不执行i5一次都没有打印,哪里出错了

15、?什么是什么是do-whiledo-while循环循环do 循环操作 while(循环条件);先执行一遍循环操作符合条件,循环继续执行;否则,循环退出特点:先执行,再判断循环操作 循环条件 真假while循环和do-while循环的区别语法不同初始情况不满足循环条件时while循环一次都不会执行do-while循环不管任何情况都至少执行一次do循环操作循环操作while(循环条件循环条件);while(循环条件循环条件)循环操作循环操作先判断,再执行先判断,再执行先执行,再判断先执行,再判断比较比较while和和do-whilefor循环的语法和执行顺序什么是for循环for(;);条件为tr

16、ue 循环体被执行 for(int i=0;i 100;i+)System.out.println(我最棒);代码规范:格式对齐、代码的缩进 表达式1 表达式2 表达式3 循环操作 参数初始化条件判断更新循环变量1243for循环常见问题循环常见问题for(;i10;i+)System.out.println(这是这是+i);int i=0;编译错误:编译错误:变量变量 i 没有初始化没有初始化for(;);不能省略不能省略 可省略可省略表达式表达式1省略,循环变量省略,循环变量的初始值在的初始值在for语句之前语句之前由赋值语句取得由赋值语句取得for循环常见问题循环常见问题for(inti

17、=0;i+)System.out.println(这是这是+i);编译正确,但是缺少编译正确,但是缺少循环条件,造成死循环循环条件,造成死循环for循环常见问题循环常见问题for(inti=0;i10;)System.out.println(这是这是+i);i+;省略表达式省略表达式3,在循环体内应设法改,在循环体内应设法改变循环变量的值以结束循环变循环变量的值以结束循环编译通过,但是循环变量的编译通过,但是循环变量的值无变化,造成死循环值无变化,造成死循环for循环常见问题循环常见问题for(;)System.out.println(这是测试这是测试);表达式全省略,无条件判断,循环变量无改

18、变,表达式全省略,无条件判断,循环变量无改变,应在循环体内设法结束循环,否则会造成死循环应在循环体内设法结束循环,否则会造成死循环死循环死循环为什么需要为什么需要break语句语句inti=2;switch(i)case1:System.out.println(星期一星期一);break;case2:System.out.println(星期二星期二);break;/其他语句其他语句遇到遇到break,立即跳出,立即跳出switch语句语句回顾回顾break用于用于switch语句语句描述描述4000米长跑比赛米长跑比赛for(inti=0;i10;i+)跑跑400米;米;if(不能坚持)(不

19、能坚持)break;/退出比赛退出比赛第第8圈,圈,快累死了快累死了我要退出我要退出什么是什么是break语句语句break:改变程序控制流用于do-while、while、for中时,可跳出循环而执行循环后面的语句while()break;跳跳出出整整个个循循环环break通常在循环中与通常在循环中与条件语句一起使用条件语句一起使用什么是什么是continue语句语句continue:只能用在循环里continue作用:跳过循环体中剩余的语句而执行下一次循环while()continue;继继续续下下一一次次循循环环通常与条件语句一起使通常与条件语句一起使用,加速循环用,加速循环for(in

20、ti=0;i10;i+)跑跑400米;米;if(!口渴)(!口渴)continue;/不喝水,继续跑不喝水,继续跑接过水壶,喝水接过水壶,喝水;示例示例循环结构总结循环结构总结到目前为止所学的循环结构有哪些?需要多次重复执行一个或多个任务的问题考虑使用需要多次重复执行一个或多个任务的问题考虑使用循环来解决循环来解决循环总结循环总结inti=0;intsum=0;while(i10)sum=sum+i;i+;inti=0;intsum=0;dosum=sum+i;i+;while(i10);intsum=0;for(inti=0;i10;i+)sum=sum+i;123412341234whil

21、e和和for相同,先进行判断,后执行循环体内容相同,先进行判断,后执行循环体内容do-while是先执行,后判断,至少执行一次是先执行,后判断,至少执行一次指出各种循环结构的执行顺序指出各种循环结构的执行顺序控制流语句小结控制流语句小结顺序结构:语句顺序执行分支结构:语句在满足条件下执行if,if-else,if-elseif-else,switch循环结构:语句在满足条件下循环执行多次while,do-while,for跳转语句break,continue包包包解决类的同名问题允许类组成较小的单元(类似允许类组成较小的单元(类似文件夹),易于找到和使用相文件夹),易于找到和使用相应的文件应的

22、文件防止命名冲突防止命名冲突更好的保护类、数更好的保护类、数据和方法据和方法A.java包包如何创建包如何创建包packages1java.sg.chap7;publicclassAccpSchoolpublicStringtoString()包名包名使用使用package声明包,声明包,以分号结尾以分号结尾如果有包的声明,一定如果有包的声明,一定作为作为Java源代码的第一条源代码的第一条语句语句包命名规范包命名规范包名由小写字母组成,不能以圆点开头或结尾自己设定的包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名。如:域名自己设定的包名部分依不同机构各自内部的规范不同而不同packag

23、emypackage;packagenet.javagroup.mypackage;packagenet.javagroup.research.powerproject;部门名部门名项目名项目名package.mypackage;如何导入包如何导入包为了使用不在同一包中的类,需要在Java程序中使用import关键字导入这个类importjava.util.*;/导入导入java.util包中所有类包中所有类importjava.lang.*;/导入导入java.lang包中所有类包中所有类关键字关键字import并不陌生并不陌生import包名包名.类名;类名;1、系统包、系统包(eg:ja

24、va.lang)2、自定义包:、自定义包:net.javagroup*:指包中的所有类指包中的所有类HelloSchool:指包中的:指包中的HelloSchool类类什么是异常什么是异常异常就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序异常!异常!程序运行程序运行程序中断运行程序中断运行Java 语言程序设计(一)语言程序设计(一)串讲串讲主讲人主讲人:周立民周立民更多优质自考资料尽在百度贴吧自考乐园俱乐部(http:/ 动物动物 ,植物,植物 面向对象编程基础面向对象编程基础对对象的特征象的特征属性属性属性对象具有的各种特征每个对象的每个属性都拥有特定值例如:王小红和朱

25、小雨的体重不一样60kg王小红王小红属性属性35岁岁收银员小王收银员小王 对对象的特征象的特征方法方法方法对象执行的操作打单打单收银收银方法方法刷卡刷卡收银员王小红收银员王小红封装封装对象同时具有属性和方法两项特性对象的属性和方法通常被封装在一起,共同体现事物的特性,二者相辅相承,不能分割谁看见过只有谁看见过只有“完好完好的零件和颜色的零件和颜色”而不而不能开动的汽车?能开动的汽车?类:从对象抽取出类类:从对象抽取出类顾客类轿车类类是模子,确定对象将会拥有的类是模子,确定对象将会拥有的特征(属性)和行为(方法)特征(属性)和行为(方法)类是对象的类型类是对象的类型不同于不同于int类型:具有方

26、法类型:具有方法各种口味的球状冰淇淋各种口味的球状冰淇淋球状冰淇淋模子球状冰淇淋模子类和对象有什么区别呢?类和对象有什么区别呢?类是抽象的概念,仅仅是模板,比如说:“人”对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”小布什小布什普京普京克林顿克林顿Java 是面向是面向对对象的象的语语言言 所有所有Java程序都以类程序都以类class为组织单元为组织单元关键字关键字class定义自定义的数据类型定义自定义的数据类型publicclassHelloWorldpublicstaticvoidmain(Stringargs)System.out.println(使用使用Java语言理解

27、程序逻辑语言理解程序逻辑);Java类模板类模板类将现实世界中的概念模拟到计算机程序中publicclass类名类名/定义属性部分定义属性部分属性属性1的类型的类型属性属性1;属性属性2的类型的类型属性属性2;属性属性n的类型的类型属性属性n;/定义方法部分定义方法部分方法方法1;方法方法2;方法方法m;定义类定义类定义一个类的步骤1、定义类名2、编写类的属性3、编写类的方法常见错误常见错误publicclass.BookStringbookName;StringauthorName;intpageNum;booleanisAvailable;类命名规则:类命名规则:1、不能使用、不能使用Ja

28、va关键字关键字2、首字母可以为字母,也可以是、首字母可以为字母,也可以是“_”或或“$”(建议不要这建议不要这样样)3、不能包含空格或、不能包含空格或“.”号号代码错误代码错误如何创建和使用对象如何创建和使用对象使用对象的步骤:使用new创建类的一个对象使用对象:使用“.”进行以下操作给类的属性赋值:对象名.属性调用类的方法:对象名.方法名()Schoolcenter=newSchool();center.schoolName=“北京大学北京大学;/给属性赋值给属性赋值center.toString();/调用类的方法,该方法中的操作将被执行调用类的方法,该方法中的操作将被执行面向对象(面向

29、对象(OO)的优点)的优点便于程序模拟现实世界中的实体用“类”表示实体的特征和行为隐藏细节对象的行为和属性被封装在类中,外界通过调用类的方法来获得,不需关注内部细节如何实现可重用可以通过类的模板,创建多个类的对象数据类型总结数据类型总结intdoublecharString使用使用class定义的类型定义的类型StudentTeacherSchool基本数据类型基本数据类型引用数据类型引用数据类型数据类型使用区别数据类型使用区别类的方法类的方法写出狮子对象的“跑”方法写出狮子对象的“叫”方法电动玩具狮子电动玩具狮子属性:属性:颜色:黄色颜色:黄色行为:行为:跑跑叫叫按此按钮,按此按钮,狮子开始

30、跑狮子开始跑如何定义类的方法如何定义类的方法类的方法定义类的某种行为(或功能)方法的定义方法的定义方法的名称方法的名称方法的主体方法的主体方法返回的数据类型方法返回的数据类型定义类的方法定义类的方法public返回值类型返回值类型方法名方法名()/这里编写方法的主体这里编写方法的主体步骤一:定义方步骤一:定义方法名以及返回值法名以及返回值步骤二:编写方步骤二:编写方法体法体方法的命名方法的命名如何给方法起名字?必须以字母、_或开头可以包括数字,但不能以它开头遵循的命名规范通常方法名是一个动词,如果有两个以上单词组成,第一个单词的首字母小写,其后单词首字母大写方法的返回值方法的返回值两种情况如果

31、方法具有返回值,方法中必须使用关键字return返回该值,返回类型为该返回值的类型如果方法没有返回值,返回类型为voidpublicclassStudentStringname=张三张三;publicvoidgetName()returnname;返回类型要匹配返回类型要匹配return表达式;表达式;编译错误编译错误常见错误常见错误publicclassSchoolpublicstaticvoidmain(Stringargs)return“北京大学!;返回类型是返回类型是void方法中不能有返回值方法中不能有返回值常见错误常见错误publicclassStudentpublicdouble

32、getInfo()doubleweight=95.5;doubleheight=1.69;returnweight,height;方法至多可以返回一个值,方法至多可以返回一个值,不能返回多个值不能返回多个值方法调用方法调用方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果方法调用:执行方法中包含的语句对象名对象名.方法名()方法名();方法调用小结方法调用小结方法之间允许相互调用,不需要知道方法的具体实现,提高了效率变量作用域变量作用域变量声明的位置决定变量作用域变量作用域确定可在程序中按变量名访问该变量的区域for(inti=0,a=0;i4;i+)a+;System.out.pri

33、ntln(a);a的作用域仅在的作用域仅在for循环中循环中代码错误代码错误变量作用域变量作用域变量变量1类型类型变量变量1;变量变量2类型类型变量变量2;变量变量3类型类型变量变量3;public返回类型返回类型方法方法1()变量变量4类型类型变量变量4;public返回类型返回类型方法方法2()变量变量5类型类型变量变量5;publicclassAutoLionAutoLion类的方法类的方法别的类的方法别的类的方法谁能使用这些变量?谁能使用这些变量?方法方法1方法方法2成员变量成员变量局部变量局部变量局部变量局部变量面向对象的编程思维面向对象的编程思维ScoreCalc类和Test类pu

34、blicstaticvoidmain(Stringargs)Scannerinput=newScanner(System.in);System.out.print(请输入请输入Java成绩:成绩:);intjava=input.nextInt();/*计算并显示输出计算并显示输出*/inttotal=java+c+db;doubleavg=total/3;System.out.print(总成绩:总成绩:+total);System.out.print(n平均分平均分:+avg);一次还可以接受,如果一次还可以接受,如果还要再执行这个功能,还要再执行这个功能,难道还要重复再写?难道还要重复再写

35、?calcDiffTimecalcTotalScore()ScoreCalcshowTotalScore()calcAvg()showAvg()main()/程序入口程序入口/计算并输出总成绩计算并输出总成绩/计算并输出平均分计算并输出平均分Test调用调用调用调用类的方法实现某个特定的功能,类的方法实现某个特定的功能,别的类不需要知道它如何实现!别的类不需要知道它如何实现!知道了实现此功能的类和它的方法名,知道了实现此功能的类和它的方法名,就可以直接调用了,不用重复写代码!就可以直接调用了,不用重复写代码!什么是封装什么是封装publicclassTeacher2privateStringn

36、ame;/教员姓名教员姓名/返回教员姓名返回教员姓名publicStringgetName()returnname;/设定教员姓名设定教员姓名publicvoidsetName(Stringname)this.name=name;封装,就是隐藏实现细节将属性私有化,提供公有方法访问私有属性通过这些公有方法访问私有属性Teacher2teacher=newTeacher2();teacher.setName(李芳李芳);StringtName=teacher.getName();通过通过setter、getter方法方法访问访问name属性属性this代表当前类的实例代表当前类的实例82如何实现

37、封装如何实现封装封装的实现:1、修改属性的可见性来限制对属性的访问2、为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于对这些属性的访问3、在setter和getter方法中,加入对属性的存取限制publicclassTeacher3privateStringname;/教员姓名教员姓名privateintage;/年龄年龄publicintgetAge()returnage;publicvoidsetAge(intage)if(age22)System.out.println(错误!最小年龄应为错误!最小年龄应为22岁!岁!);this.age=22;/如果不符合年龄

38、要求,则赋予默认值如果不符合年龄要求,则赋予默认值elsethis.age=age;/此处省略对此处省略对name属性的属性的setter、getter方法方法12383如何实现封装如何实现封装publicclassTeacher3Testpublicstaticvoidmain(Stringargs)AccpTeacher3teacher=newAccpTeacher3();teacher.setName(李芳李芳);teacher.setAge(10);System.out.println(teacher.introduction();使用封装,增加了数据访问限制,增强了程序的可维护性使用

39、封装,增加了数据访问限制,增强了程序的可维护性错误!最小年龄应为错误!最小年龄应为22岁!岁!大家好!我是李芳,我今年大家好!我是李芳,我今年22岁岁测试类通过调用测试类通过调用setter方法,为对象的各个属性赋值方法,为对象的各个属性赋值84什么是构造方法什么是构造方法构造方法负责对象成员的初始化工作,为实例变量赋予合适的初始值构造方法必须满足以下语法规则:1、方法名与类名相同2、没有返回类型publicclassTeacher5privateStringname;/教员姓名教员姓名/构造方法构造方法publicTeacher5()name=无名氏无名氏;PublicTeacher5Tes

40、tpublicstaticvoidmain(Stringargs)Teacher5teacher=newTeacher5();使用使用new关键字调用构造方法关键字调用构造方法85带参数的构造方法带参数的构造方法通过带参数的构造方法,显式地为实例变量赋予初始值publicclassTeacher6privateStringname;/教员姓名教员姓名privateintage;/年龄年龄privateStringeducation;/学历学历privateStringposition;/职位职位/带参数的构造方法带参数的构造方法PublicTeacher6(StringpName,intpAg

41、e,StringpEducation,StringpPosition)name=pName;age=pAge;/可以增加对可以增加对age等属性的存取限制条件等属性的存取限制条件education=pEducation;position=pPosition;publicStringintroduction()return大家好!我是大家好!我是+name+,我今年,我今年+age+岁,学历岁,学历+education+,目前职位是目前职位是+position;86带参数的构造方法带参数的构造方法通过调用带参数的构造方法,简化对象初始化的代码publicclassTeacher6Testpubl

42、icstaticvoidmain(Stringargs)Teacher6teacher=newTeacher6(李芳李芳,23,本科本科,咨询师咨询师);System.out.println(teacher.introduction();创建对象时,一并完成了对创建对象时,一并完成了对象成员的初始化工作象成员的初始化工作大家好!我是李芳大家好!我是李芳,我今年我今年23岁,学历本科,目前职位是咨询师岁,学历本科,目前职位是咨询师87生活中的方法重载生活中的方法重载类类方法方法方法参数方法参数方法实现方法实现司机司机轿车轿车巴士巴士火车火车驾驶驾驶启动、行驶、启动、行驶、等待乘客上车、启动、等待

43、乘客上车、启动、行驶、到站停车、行驶、到站停车、正点发车、行驶、正点发车、行驶、到站停车、到站停车、如果用代码实现,我们需要三个方法,这些方法的方法名称如果用代码实现,我们需要三个方法,这些方法的方法名称相同,参数类型不同相同,参数类型不同88方法重载必须满足的条件方法重载必须满足的条件重载方法必须满足以下条件:方法名相同。方法的参数类型、个数、顺序至少有一项不相同。方法的返回类型可以不相同。方法的修饰符可以不相同。调用重载方法时,Java 使用参数的类型和数量决定实际调用重载方法的哪个版本。89方法重载的代码示例方法重载的代码示例 1方法重载并不陌生java.io.PrintStream类的

44、println方法能够打印数据并换行,根据数据类型的不同,有多种实现方式publicclassTestpublicstaticvoidmain(Stringargs)inti=0;charc=z;Stringstr=hello;System.out.println(i);System.out.println(c);System.out.println(str);PrintStreamprintln(int)println(char)println(String)方法名相同,参数类型不同方法名相同,参数类型不同调用不同的调用不同的println方法方法方方法法重重载载90生活中的继承生活中的继承

45、生活中,继承的例子随处可见动物动物食草动物食草动物食肉动物食肉动物谁是父类?谁是父类?谁是子类?谁是子类?能说出继承的特点吗?能说出继承的特点吗?继承需要符合的关系:继承需要符合的关系:is-a,父类更通用、子类更具体,父类更通用、子类更具体91生活中的继承生活中的继承 子类具有父类的一般特性(包括属性和行为),以及自身特殊的特性巴士是汽车吗?巴士是汽车吗?卡车是汽车吗?卡车是汽车吗?出租车是汽车吗?出租车是汽车吗?最大载客数量最大载客数量报站报站引擎数量引擎数量外观颜色外观颜色刹车刹车加速加速汽车汽车最大载重量最大载重量卸货卸货所属公司所属公司最大载客数量最大载客数量打发票打发票属性属性行为

46、行为92为什么要使用继承为什么要使用继承?使用继承,可以有效实现代码复用使用继承,可以有效实现代码复用93如何实现继承如何实现继承在Java语言中,用extends关键字来表示一个类继承了另一个类,例如:publicclassJavaTeacher2extendsTeacher/其余代码省略其余代码省略在父类中只定义一些通用的属性与方法,例如:在父类中只定义一些通用的属性与方法,例如:publicclassTeacherprivateStringname;/教员姓名教员姓名privateStringschool;/所在中心所在中心publicAccpTeacher(StringmyName,S

47、tringmySchool)/初始化属性值初始化属性值publicvoidgiveLesson()/授课方法的具体实现授课方法的具体实现publicvoidintroduction()/自我介绍方法的具体实现自我介绍方法的具体实现94如何实现继承如何实现继承子类自动继承父类的属性和方法,子类中可以定义特定的属性和方法publicclassTeacherprivateStringname;/教员姓名教员姓名privateStringschool;/所在中心所在中心publicAccpTeacher(StringmyName,StringmySchool)/初始化属性值初始化属性值publicvo

48、idgiveLesson()/授课方法的具体实现授课方法的具体实现publicvoidintroduction()/自我介绍方法的具体实现自我介绍方法的具体实现publicclassJavaTeacher2extendsTeacherpublicAccpJavaTeacher2(StringmyName,StringmySchool)super(myName,mySchool);publicvoidgiveLesson()System.out.println(启动启动Eclipse);super.giveLesson();由于由于giveLesson()方法与方法与父类的实现有所不同,因此父类

49、的实现有所不同,因此重写了该方法重写了该方法方法重写:子类和父类的方法具有相同的名称、参数列表、返回类型方法重写:子类和父类的方法具有相同的名称、参数列表、返回类型父类中的属性和方法可父类中的属性和方法可以被子类继承以被子类继承95publicclassJavaTeacher2extendsTeacherPublicJavaTeacher2(StringmyName,StringmySchool)super(myName,mySchool);如何实现继承如何实现继承子类的构造方法中,通过super关键字调用父类的构造方法方法重写后,通过方法重写后,通过super关键字调用父类的方法关键字调用父

50、类的方法publicclassJavaTeacher2extendsTeacherpublicvoidgiveLesson()System.out.println(启动启动Eclipse);super.giveLesson();通过调用父类的构造方法,通过调用父类的构造方法,完成对属性值的初始化完成对属性值的初始化96一切类的一切类的“祖先祖先”Object在Java中,所有的Java类都直接或间接地继承了java.lang.Object类publicclassMyObject/publicclassMyObectextendsObject/在在Eclipse中调用中调用MyObject对象的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁