Java语言程序设计(一)串讲课件.ppt

上传人(卖家):晟晟文业 文档编号:5195763 上传时间:2023-02-16 格式:PPT 页数:355 大小:3.90MB
下载 相关 举报
Java语言程序设计(一)串讲课件.ppt_第1页
第1页 / 共355页
Java语言程序设计(一)串讲课件.ppt_第2页
第2页 / 共355页
Java语言程序设计(一)串讲课件.ppt_第3页
第3页 / 共355页
Java语言程序设计(一)串讲课件.ppt_第4页
第4页 / 共355页
Java语言程序设计(一)串讲课件.ppt_第5页
第5页 / 共355页
点击查看更多>>
资源描述

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平分天下的应用软件开发平台和技术三、

3、三、JAVAJAVA能作什么能作什么 开发桌面应用程序 银行软件、商场结算软件开发面向Internet的应用程序 网上数码商城、阿里巴巴、易趣网四、四、JAVAJAVA的特点的特点 1、强类型 2、编译和解释 3、自动无用内存回收功能 4、面向对象 5、与平台无关 6、安全性 7、分布式计算 8、多线程五、五、JAVAJAVA程序的开发过程:三步走程序的开发过程:三步走1 1、编写源程序、编写源程序2、编译源程序、编译源程序3、运行、运行第一个第一个JavaJava程序程序 public class HelloWorld public static void main(String args)

4、System.out.println(“你好你好!JAVA课程课程);public class HelloAccp public static void main(String args)System.out.println(“你好!JAVA课程);关键字高亮关键字高亮显示显示类名与文件类名与文件名完全一样名完全一样main方法是方法是Java程程序执行的入口点序执行的入口点和和一一对应,一一对应,缺一不可缺一不可main方法四要素方法四要素必不可少必不可少从控制台输出信息从控制台输出信息变量变量1、概念:是存储数据的一个基本单元。2、变量的声明和赋值 数据类型 变量名 =数值;数据类型 变量

5、名;变量名=数值;第一步:声明一个变量第二步:赋值第三步:使用变量根据类型开辟空间 将数据存入空间 取出数据使用 使用变量的步骤:使用变量的步骤:数据属于不同类别非洲 The quick brown fox TRUE 数据 非数值数值整型非整型9002.129999/12/20032.175123陈扬 char非数值数值整型intdouble非整型StringJava数据类型数据类型 数据类型 数据类型说明char(字符型)用于存储单个字符如:性别男、女,电灯开、关int(整型)用于存储整数如:一天的时间是24小时,一月份有31天double(双精度)用于存储小数,占8个字节,64位。如:蒙牛

6、早餐奶的价格1.3元,手机待机时间6.5小时float(单精度)用于存储小数,占4个字节,32位如:蒙牛早餐奶的价格1.3元,手机待机时间6.5小时数据类型说明数据类型说明数据类型说明boolean(逻辑类型)用于存储真和假两个值True表示真,false表示假。String(字符串)用于存储一串字符如:“我的爱好是踢足球”,“我喜欢Java程序”数据类型说明数据类型说明1、字母2、下划线_3、$符号首字母任意多的:1、数字2、字母3、下划线_4、$符号其余部分变量名Java语言中,变量命名要符合一定规则变量命名规范:简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的首字母大

7、写。例如:myScore 变量命名规则变量命名规则变量名 表达式;赋值运算符赋值运算符Z =(X *2)+(5 Y)表达式 表达式 表达式 赋值运算符表达式举例算术运算符算术运算符基本的算术运算 操作数操作数运算符比较高低、大小、长短张三的考试成绩是否比李四高大象是否比乌龟更长寿篮球跟地球一样大吗如何比较?使用关系运算符可以比较高低、大小、长短使用关系运算符使用关系运算符什么是关系运算符什么是关系运算符常用的关系运算符有哪些:,=,=大象的寿命 李四的成绩 假令狐冲每次考试成绩=90分 真篮球的大小=地球的大小 假由此看出关系运算符的作用:用来做比较运算比较后结果:boolean类型在某种条件

8、下,系统自动完成类型转换两种类型兼容例如:int 和 double 兼容目标类型大于源类型例如:double 型 大于 int 型 对于表达式如果一个操作数为double型,则整个表达式可提升为double型自动类型转换自动类型转换-类型提升规则类型提升规则int before=20;/apple笔记本市场份额double rise=9.8;/增长的份额int now=before+rise;/现在的份额int now=before+(int)rise;去年Apple笔记本所占的市场份额是20,今年增长的市场份额是9.8,求今年所占的份额?编译出错:不能完成自动类型转换(类型名)表达式强制类型

9、转换int b =(int)10.2;double a=10;int c=(int)a;强制类型转换强制类型转换更改为强制类型转换什么是什么是ifif条件结构条件结构if条件结构是根据条件判断之后再做处理if(if(条件条件 )/语句语句 if(javaif(java成绩成绩 90)90)可以快速上岗;可以快速上岗;结合问题结合问题2 2基本的if条件结构表达式表达式语句语句假假真真如何使用如何使用if条件结构条件结构 3、小明Java成绩大于90分,而且音乐成绩大于80分,父母奖励他;或者Java成绩等于100分,音乐成绩大于70分,父母也可以奖励他分析:怎样把多个条件连接起来?分析:怎样把

10、多个条件连接起来?使用逻辑运算符使用逻辑运算符运算符运算符表达式表达式说明说明&条件条件1 1&条件条件2 2仅仅两个条件同时为真,结果为真仅仅两个条件同时为真,结果为真|条件条件1 1|条件条件2 2只要两个条件有一个为真,结果为真只要两个条件有一个为真,结果为真!条件条件条件为真时,结果为假条件为真时,结果为假条件为假时,结果为真条件为假时,结果为真如何使用如何使用if条件结构条件结构 if-else条件结构条件结构if(条件条件)/语句语句1 else /语句语句2 if(小明考试成绩小明考试成绩 90)父母奖励小明;父母奖励小明;else 父母罚他不许玩电脑;父母罚他不许玩电脑;结合问

11、题结合问题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如果没有找到匹配的值常见错误常见错误int mingCi=1;switch(mingCi)case

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

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

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

15、循环条件和循环操作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次“欢迎新同学”*/p

16、ublic static void main(String args)int i =0;while(i 4)System.out.println(“欢迎新同学);i+;永远都不会退出的循环称为死循环 循环一直执行,不会退出,哪里出错了?while循环常见问题循环常见问题/*打印4次“欢迎新同学”*/public static void main(String args)int i=1;while(i 4 )System.out.println(“欢迎新同学);i+;i 5 )System.out.println(“欢迎新同学);i+;注意:如果一开始条件就不满足,while循环一次都不执行 i

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

18、for循环for(;);条件为true 循环体被执行 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循环常

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

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

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

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

23、;i10;i+)sum=sum+i;123412341234while和和for相同,先进行判断,后执行循环体内容相同,先进行判断,后执行循环体内容do-while是先执行,后判断,至少执行一次是先执行,后判断,至少执行一次指出各种循环结构的执行顺序指出各种循环结构的执行顺序 控制流语句小结控制流语句小结顺序结构:语句顺序执行 分支结构:语句在满足条件下执行if,if-else,if-else if-else,switch 循环结构:语句在满足条件下循环执行多次while,do-while,for跳转语句break,continue包包包解决类的同名问题允许类组成较小的单元(类似允许类组成较小

24、的单元(类似文件夹),易于找到和使用相文件夹),易于找到和使用相应的文件应的文件 防止命名冲突防止命名冲突 更好的保护类、数更好的保护类、数据和方法据和方法 A.java包包如何创建包如何创建包package s1java.sg.chap7 ;public class AccpSchool public String toString()包名包名 使用使用package声明包,声明包,以分号结尾以分号结尾如果有包的声明,一定如果有包的声明,一定作为作为Java源代码的第一条源代码的第一条语句语句 包命名规范包命名规范包名由小写字母组成,不能以圆点开头或结尾自己设定的包名之前最好加上唯一的前缀,

25、通常使用组织倒置的网络域名。如:域名 自己设定的包名部分依不同机构各自内部的规范不同而不同package mypackage;package net.javagroup.mypackage;package net.javagroup.research.powerproject;部门名部门名 项目名项目名 package.mypackage;如何导入包如何导入包为了使用不在同一包中的类,需要在Java程序中使用import关键字导入这个类import java.util.*;/导入导入java.util包中所有类包中所有类import java.lang.*;/导入导入java.lang包中所有

26、类包中所有类 关键字关键字import并不陌生并不陌生 import 包名包名.类名;类名;1、系统包、系统包(eg:java.lang)2、自定义包:、自定义包:net.javagroup *:指包中的所有类指包中的所有类HelloSchool:指包中的:指包中的HelloSchool类类 什么是异常什么是异常异常就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序异常!异常!程序运行程序运行程序中断运行程序中断运行Java 语言程序设计(一)语言程序设计(一)串讲串讲主讲人主讲人:周立民周立民更多优质自考资料尽在百度贴吧自考乐园俱乐部(http:/ 人人 物品物品 动物动物

27、,植物,植物 面向对象编程基础面向对象编程基础对象的特征对象的特征属性属性属性对象具有的各种特征 每个对象的每个属性都拥有特定值例如:王小红和朱小雨的体重不一样 60kg王小红王小红属性属性 35岁岁收银员小王收银员小王 对象的特征对象的特征方法方法方法对象执行的操作 打单打单 收银收银 方法方法 刷卡刷卡 收银员王小红收银员王小红封装封装对象同时具有属性和方法两项特性对象的属性和方法通常被封装在一起,共同体现事物的特性,二者相辅相承,不能分割谁看见过只有谁看见过只有“完好完好的零件和颜色的零件和颜色”而不而不能开动的汽车?能开动的汽车?类:从对象抽取出类类:从对象抽取出类顾客类轿车类 类是模

28、子,确定对象将会拥有的类是模子,确定对象将会拥有的特征(属性)和行为(方法)特征(属性)和行为(方法)类是对象的类型类是对象的类型不同于不同于int类型:具有方法类型:具有方法 各种口味的球状冰淇淋各种口味的球状冰淇淋 球状冰淇淋模子球状冰淇淋模子类和对象有什么区别呢?类和对象有什么区别呢?类是抽象的概念,仅仅是模板,比如说:“人”对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”小布什小布什普京普京克林顿克林顿“人人”类类特征(属性)特征(属性)年龄年龄体重体重行为(方法)行为(方法)衣衣食食住住行行Java 是面向对象的语言是面向对象的语言 所有所有Java程序都以类程序都以类cl

29、ass为组织单元为组织单元关键字关键字class定义自定义的数据类型定义自定义的数据类型 public class HelloWorld public static void main(String args)System.out.println(使用使用Java语言理解程序逻辑语言理解程序逻辑);Java类模板类模板类将现实世界中的概念模拟到计算机程序中public class 类名类名 /定义属性部分定义属性部分 属性属性1的类型的类型 属性属性1;属性属性2的类型的类型 属性属性2;属性属性n的类型的类型 属性属性n;/定义方法部分定义方法部分 方法方法1;方法方法2;方法方法m;定义类

30、定义类定义一个类的步骤1、定义类名2、编写类的属性3、编写类的方法常见错误常见错误public class.Book String bookName;String authorName;int pageNum;boolean isAvailable;类命名规则:类命名规则:1、不能使用、不能使用Java关键字关键字2、首字母可以为字母,也可以是、首字母可以为字母,也可以是“_”或或“$”(建议不要这建议不要这样样)3、不能包含空格或、不能包含空格或“.”号号代码错误代码错误如何创建和使用对象如何创建和使用对象使用对象的步骤:使用new创建类的一个对象使用对象:使用“.”进行以下操作给类的属性赋

31、值:对象名.属性调用类的方法:对象名.方法名()School center=new School();center.schoolName=“北京大学北京大学;/给属性赋值给属性赋值center.toString();/调用类的方法,该方法中的操作将被执行调用类的方法,该方法中的操作将被执行面向对象(面向对象(OO)的优点)的优点便于程序模拟现实世界中的实体用“类”表示实体的特征和行为隐藏细节对象的行为和属性被封装在类中,外界通过调用类的方法来获得,不需关注内部细节如何实现可重用可以通过类的模板,创建多个类的对象数据类型总结数据类型总结intdoublechar String使用使用class定

32、义的类型定义的类型StudentTeacherSchool基本数据类型基本数据类型引用数据类型引用数据类型数据类型使用区别数据类型使用区别数据类型数据类型特征特征声明声明使用使用基本数据类型基本数据类型没有方法没有方法int i=8;i+;引用数据类型引用数据类型具有方法具有方法Student stu=new Student();stu.age+;类的方法类的方法写出狮子对象的“跑”方法写出狮子对象的“叫”方法 电动玩具狮子电动玩具狮子属性:属性:颜色:黄色颜色:黄色行为:行为:跑跑叫叫按此按钮,按此按钮,狮子开始跑狮子开始跑如何定义类的方法如何定义类的方法类的方法定义类的某种行为(或功能)方

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

34、该返回值的类型如果方法没有返回值,返回类型为voidpublic class Student String name=张三张三;public void getName()return name;返回类型要匹配返回类型要匹配return 表达式;表达式;编译错误编译错误常见错误常见错误public class School public static void main(String args)return“北京大学!;返回类型是返回类型是void方法中不能有返回值方法中不能有返回值 常见错误常见错误public class Student public double getInfo()doub

35、le weight=95.5;double height=1.69;return weight,height;方法至多可以返回一个值,方法至多可以返回一个值,不能返回多个值不能返回多个值方法调用方法调用方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果方法调用:执行方法中包含的语句 对象名对象名.方法名()方法名();方法调用小结方法调用小结方法之间允许相互调用,不需要知道方法的具体实现,提高了效率 情况情况举例举例1、类、类Student 的方法的方法a()调用调用Student类类的方法的方法b(),直接调用,直接调用public void a()b();/调用调用b()2、类、类

36、Student的方法的方法a()调用类调用类Teacher的方法的方法b(),先创建类对象,然后使用,先创建类对象,然后使用“.”调用调用public void a()Teacher t=new Teacher();t.b();/调用调用Teacher类的类的b()变量作用域变量作用域变量声明的位置决定变量作用域变量作用域确定可在程序中按变量名访问该变量的区域for(int i=0,a=0;i 4;i+)a+;System.out.println(a);a的作用域仅在的作用域仅在for循环中循环中 代码错误代码错误变量作用域变量作用域变量变量1类型类型 变量变量1;变量变量2类型类型 变量变量

37、2;变量变量3类型类型 变量变量3;public 返回类型返回类型 方法方法1()变量变量4类型类型 变量变量4;public 返回类型返回类型 方法方法2()变量变量5类型类型 变量变量5;public class AutoLion AutoLion类的方法类的方法别的类的方法别的类的方法 谁能使用这些变量?谁能使用这些变量?方法方法1 方法方法2 成员变量成员变量局部变量局部变量局部变量局部变量面向对象的编程思维面向对象的编程思维ScoreCalc类 和 Test类public static void main(String args)Scanner input=new Scanner(S

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

39、()calcAvg()showAvg()main()/程序入口程序入口 /计算并输出总成绩计算并输出总成绩 /计算并输出平均分计算并输出平均分 Test调用调用调用调用类的方法实现某个特定的功能,类的方法实现某个特定的功能,别的类不需要知道它如何实现!别的类不需要知道它如何实现!知道了实现此功能的类和它的方法名,知道了实现此功能的类和它的方法名,就可以直接调用了,不用重复写代码!就可以直接调用了,不用重复写代码!什么是封装什么是封装public class Teacher2 private String name;/教员姓名教员姓名/返回教员姓名返回教员姓名public String getN

40、ame()return name;/设定教员姓名设定教员姓名public void setName(String name)this.name=name;封装,就是隐藏实现细节将属性私有化,提供公有方法访问私有属性通过这些公有方法访问私有属性 Teacher2 teacher=new Teacher2();teacher.setName(李芳李芳);String tName=teacher.getName();通过通过setter、getter方法方法访问访问name属性属性this代表当前类的实例代表当前类的实例82如何实现封装如何实现封装封装的实现:1、修改属性的可见性来限制对属性的访问2

41、、为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于对这些属性的访问3、在setter和getter方法中,加入对属性的存取限制public class Teacher3 private String name;/教员姓名教员姓名private int age;/年龄年龄public int getAge()return age;public void setAge(int age)if(age22)System.out.println(错误!最小年龄应为错误!最小年龄应为22岁!岁!);this.age=22;/如果不符合年龄要求,则赋予默认值如果不符合年龄要求,则赋

42、予默认值 else this.age=age;/此处省略对此处省略对name属性的属性的setter、getter方法方法12383如何实现封装如何实现封装public class Teacher3Test public static void main(String args)AccpTeacher3 teacher=new AccpTeacher3();teacher.setName(李芳李芳);teacher.setAge(10);System.out.println(teacher.introduction();使用封装,增加了数据访问限制,增强了程序的可维护性使用封装,增加了数据访问

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

44、public static void main(String args)Teacher5 teacher=new Teacher5();使用使用new关键字调用构造方法关键字调用构造方法85带参数的构造方法带参数的构造方法通过带参数的构造方法,显式地为实例变量赋予初始值 public class Teacher6 private String name;/教员姓名教员姓名private int age;/年龄年龄private String education;/学历学历private String position;/职位职位/带参数的构造方法带参数的构造方法Public Teacher6(

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

46、blic class Teacher6Test public static void main(String args)Teacher6 teacher=new Teacher6(李芳李芳,23,本科本科,咨询师咨询师);System.out.println(teacher.introduction();创建对象时,一并完成了对创建对象时,一并完成了对象成员的初始化工作象成员的初始化工作大家好!我是李芳大家好!我是李芳,我今年我今年23岁,学历本科,目前职位是咨询师岁,学历本科,目前职位是咨询师87生活中的方法重载生活中的方法重载类类方法方法方法参数方法参数方法实现方法实现司机司机 轿车轿车

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

48、法重载的代码示例 1方法重载并不陌生java.io.PrintStream类的println方法能够打印数据并换行,根据数据类型的不同,有多种实现方式public class Test public static void main(String args)int i=0;char c=z;String str=hello;System.out.println(i);System.out.println(c);System.out.println(str);PrintStreamprintln(int)println(char)println(String)方法名相同,参数类型不同方法名相同,

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

50、车汽车最大载重量最大载重量卸货卸货所属公司所属公司最大载客数量最大载客数量打发票打发票属性属性行为行为92为什么要使用继承为什么要使用继承?使用继承,可以有效实现代码复用使用继承,可以有效实现代码复用93如何实现继承如何实现继承在Java语言中,用extends关键字来表示一个类继承了另一个类,例如:public class JavaTeacher2 extends Teacher/其余代码省略其余代码省略在父类中只定义一些通用的属性与方法,例如:在父类中只定义一些通用的属性与方法,例如:public class Teacher private String name;/教员姓名教员姓名pri

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Java语言程序设计(一)串讲课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|