《java基础培训资料汇编课件.ppt》由会员分享,可在线阅读,更多相关《java基础培训资料汇编课件.ppt(80页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、IBMSoftwareGroupJava2SE讲解优悉粕扬皱医紫埔遣硬实卫沾察媳烟皿译簇禁驮襟狈铃娱弘泊斑商戳荆碴java基础培训资料java基础培训资料IBMSoftwareGroupJava基础1、语法基础2、面向对象3、JDBC4、异常课程内容课程内容悠鞋书馈姻连域尖侠浴豫炕页掇谬卿迷踪澜铂竟寨熙翔肚皮触羽坝禾辱捏java基础培训资料java基础培训资料IBMSoftwareGroup3OOP&JavaBase面向对象编程(ObjectOrientedProgramming,OOP,面向对象程序设计)兼衫余和宏瘦捶您琅莽勒鞘十婶辟馁挺眩核酉氮卫慷丸熬捕核麻挡叔迸吝java基础培训资料ja
2、va基础培训资料IBMSoftwareGroup4Java学习路线学习路线JavaSE应用程序设计:面向对象(类,继承,接口,多态,抽象与封装)异常处理,I/O编程,集合框架,GUI程序设计,多线程编程数据库的学习:可以学习Oracle数据库安装配置、基本管理及开发,使用OEM/SQLPlus,标准SQL,DML,DDL,函数,事务,约束,序列,索引,视图,数据库设计,MySql,SQLServer的基本使用。JavaWeb应用开发:JDBC,JSP,Servlet,JavaBean,HTML,JavaScript,Session/cookie,MVC设计模式,Tomcat,Eclipse+M
3、yEclipse.Java企业级应用开发:Struts,Hibernate,XML,J2EE/EJB,UML,Spring,AJAX沪豫老他宁站瞎彩莉忆呕交千莹席凌诗怖坚狙嫂袒暖罪档疾你逮蛙吕荣堵java基础培训资料java基础培训资料IBMSoftwareGroup5Java 语言的发展历史Java 已经成为当今最为流行的软件开发语言技术之一。虐蛇蜂村牧乘匹问楚种压国爪柔梗婴悦兔木饲池税蛇拎印痕少幕葬虱瓷猛java基础培训资料java基础培训资料IBMSoftwareGroup6Java的平台无关性Java是一种既面向对象又可以跨平台的语言,即:编写一次,随处运行(Writeonce,Run
4、anywhere);Java不仅适用于单机应用程序和基于网络的程序,也可用于创建消费类设备的附件程序,如移动电话、掌上设备等。Java源程序代码WindowsLinuxSolarisJVMJava虚拟机Java字节码(可跨平台)编译运行娄懦寂砧荚赂迁嚼洒卸匣靠阉令烧贿炒讨蹈疚澄吉岛孙纠牟珊吮蚀津摘寸java基础培训资料java基础培训资料IBMSoftwareGroup7Java虚拟机Java虚拟机(JavaVirtualMachine)是可运行Java字节码的虚拟计算机系统;使用Java语言编写的程序,实际上是运行在JVM之上,而不是运行在操作系统上;它有一个解释器组件,可以实现Java字节
5、码和计算机操作系统之间的通信。用户USER字节码程序JVM(Java 虚拟机)操作系统硬 件轨赌捐该凭导只缸钨戮豹表挠曾韵琵局揖纯沦诞山登改伴戳身水瘟翌鸦搂java基础培训资料java基础培训资料IBMSoftwareGroup8Java虚拟机的运行过程JIT代码生成器.java源代码文件.class字节码文件编译时运行时硬件类加载器字节码校验器解释器习耘留氯雕扶缅双揭窄境秸毅崎螺勿试劈妙斋烩戈呻胜淑目纠套忻匿姐治java基础培训资料java基础培训资料IBMSoftwareGroupJava发展史95年sun发布jdk1.098年jdk1.2后续jdk1.3、1.4、1.5目前jdk1.6、
6、1.7现在SUN已推出Java2PlatformMicroEdition(Java2ME)Java2PlatformStandardEdition(Java2SE)Java2PlatformEnterpriseEdition(Java2EE)蠢锅镐上琼燕滓炸毖翠瞪美寅惮级县弯思奇样础驮茫枪辽隧欠竭氧掣蒲妨java基础培训资料java基础培训资料IBMSoftwareGroupJDK目录src.zip:核心API所有类的源文件bin:包含编译器,解释器等可执行文件Demo:包含源代码的程序示例include:用于本地方法的文件jre:Java运行环境lib:Java类库狈展臆啪吮拳所杨爵梭披靶劲
7、吝守沮衅墓晨侩悦等傻遵哺俞呀笑故玉夫嫂java基础培训资料java基础培训资料IBMSoftwareGroupJava开发环境的下载、安装、配置开发环境的下载、安装、配置下载:http:/安装(windows环境下)配置环境变量:path验证:JavaversionJavac编译源文件Java执行文件编写第一个Java文件:HelloWorld.java玄蓟雷庭敏妆炎爷痹惹提闲翘拜烈趣胎容逾猛娘幅桔罐棋演憾粳胳他篇塞java基础培训资料java基础培训资料IBMSoftwareGroup第一个第一个Java Application应用程序应用程序打开记事本,新建一个文本文件,将文件名改为Hel
8、lo.java,在文件中键入如下内容并保存:public class Hello public static void main(String args)System.out.println(Hello world!);基麻侄豪伯贼蔑俘姑斥帖衔讼俩耙郧付逝端肆孪谦嘉赡摄统镑嚎饵惩媳加java基础培训资料java基础培训资料IBMSoftwareGroupJava源程序扩展名为扩展名为.java的源文件的源文件使用记事本使用记事本进行编辑进行编辑剐使峨虚隋钩具恫谣陆香考掷共敬偶伐禹忻革愈募甩治婿如蹋陀茨伙戚劳java基础培训资料java基础培训资料IBMSoftwareGroup使用javac编
9、译器编译源文件接下来需要将源程序进行编译;进入命令提示行,切换到源文件所在的目录,执行javac命令,使用javac编译器编译源文件;javac命令的格式是:javac完整的源文件名切换到源文件所在的目录切换到源文件所在的目录使用使用javac命令编译源文件命令编译源文件光标闪烁表示语法无误,光标闪烁表示语法无误,顺利通过编译顺利通过编译辐翱狭鞠臆里藩洒跨舅庆钳涣耸趁焊扭寸臂颂努莹撒剑蚊另狐优掘彼束牢java基础培训资料java基础培训资料IBMSoftwareGroup.class(字节码)文件顺利通过编译后将生成一个扩展名为.class的字节码文件(类描述文件)。扩展名为扩展名为.java
10、的源文件的源文件通过编译后通过编译后生成的扩展名生成的扩展名为为.class的的字节码文件字节码文件景籍嘴娱馋蕴韵排总输运子朵堪欠匈糖趟却摈绵温踩抿睫慢衡砌锋坠落缝java基础培训资料java基础培训资料IBMSoftwareGroup使用java解释器运行字节码文件进入命令提示行,在字节码文件所在的目录下,执行java命令,使用java解释器运行字节码文件;java命令的格式是:java类名称请注意:这里只需要类名称,而不是带扩展名的文件名。执行执行java命令运行字节码文件命令运行字节码文件程序运行效果程序运行效果唇蜗惟坞社狗僳逆褂样项剑秧后歌妈铭虹数撤舆叫驴刚父摈臃盎皱竖絮企java基础
11、培训资料java基础培训资料IBMSoftwareGroup分析程序关键字class用来定义一个类,Hello是类的名称;在Java程序中,所有的语句都必须放在某个类中;整个类及其所有成员都包含在一对花括号中(即和之间),它们标志着类定义块的开始和结束。定义类的一般语法:class 类名惶湾捐哺霖铂吗蒲卿墅陶夜拯嚣江咙惩埂俏诽逢陆孵蝎董惊官跺俏掀汁越java基础培训资料java基础培训资料IBMSoftwareGroup分析程序3-2程序必须从main函数开始执行;关键字public是访问修饰符,用来控制类成员的可见范围及作用域;关键字static允许在不创建类的实例的情况下,调用main函数
12、;关键字void用来说明main函数是没有返回值的;args是字符串数组,用来从命令行接收参数;main函数的一般形式如下:public static void main(String args)定薄仍斋挪哮持播多纬峡拖枷廓穗忙野氮异蜜父铅讯桑犁辜惧棚接爽殿梨java基础培训资料java基础培训资料IBMSoftwareGroup分析程序String是字符串类型的数组;在Java中,类名称一般首字母大写;使用System.out.println()将信息输出到控制台上,即打印出来。虽橱傈睹樊仔袜狮遗锁瞥谁删卫茨媚酗惊靛仁球吹汀赤亿虹滴废冰猾革红java基础培训资料java基础培训资料IBMSo
13、ftwareGroup常用Java命令 编译一个编译一个java源文件源文件$javac 运行运行java可运行文件可运行文件$java-optionsclassargs.生成生成java注释文档注释文档$javadocoptionspackagenamessourcefilesfiles例:javadoc-dD:javados-sourcepathD:javaabstractMoreType.javajavadoc-dc:doc-sourcepathc:src-subpackagescom.liigo(递归所有com.liigo子包里的java文件)生成一个生成一个jar包$jarctxuv
14、fm0Mijar-filemanifest-file-Cdirectoryfiles.例:例:jar-cvf aa.jar-C news.(把把news文件夹里的文件整个打包文件夹里的文件整个打包)噎笋捶浆秋所最玩损虎拍裳要蒲梨靴柄冷挫揪琴待闸柳曙偶捕劳茂阿薯舔java基础培训资料java基础培训资料IBMSoftwareGroupJ2SE基础语法基础语法标识符数据类型数据类型的转换(主讲四类八种)运算符条件语句、循环语句:if/for/while/dowhile()/break-continue/switch授条颊窄细踞惩寇辅孪村估黍炒列规染片怀窘谁煮滴涝呸迎捐索灸顾缅嘶java基础培训资料
15、java基础培训资料IBMSoftwareGroup标识符命名规范Java语言中,为各种变量、方法和类等起的名字称为标识(identifier)。Java标识符的命名规则:应以字母、下划线(_)、美元符($),数字组成,但不能以数字开头.Java标识符大小写敏感,长度无限制不能与关键字同名摆抽曰剑贪悬蚊繁乱赎醛筐奢枉睁喧玲乙儡晒简莱帚丁锭柞蝉束狗岛湃岔java基础培训资料java基础培训资料IBMSoftwareGroupJava的基础类型及常量的基础类型及常量Java的八种基础类型:整型:byte、short、int(默认)、long字符型:char浮点型:float、double(默认)布
16、尔型:boolean(一般用于程序的流程控制)注:Java采用Unicode编码(全球语言统一编码),每个字符占两个字节,因此一个Char类型的变量可以存放一个汉字(一个汉字占两个字节)津脓泥晤悠面瞬峪面腕则釉傍话媚汪腺雪订男及策柳亥降想顺游坐沧抠叫java基础培训资料java基础培训资料IBMSoftwareGroupJava的基础类型及常量的基础类型及常量长度表示范围byte1字节,8位-2727-1short2字节,16位-215215-1int4字节,32位-231231-1long8字节,64位-263263-1float4字节,32位大约为+/-3.403E38double8字节6
17、4位大约+/-1.798E308首炸届闻垢畦系穿朔谢区肛堂床兵粹阎嘴装淘缕粕痊绥寅援夕枣韭军苏窘java基础培训资料java基础培训资料IBMSoftwareGroup基本数据类型转换boolean类型不可转换为其他类型。整型,字符型,浮点型的数据在混合运算中相互转换遵循如下原则:容量小的类型自动转换为容量大的,数据类型按容量大小排序如下:byte、short、char-int-long-float-doublebypt、short、char三者之间不互相转换,三者参与运算时先转换为int类型容量大的在转换为容量小的时候要加强制转换符,但可能造成精度降低或溢出浮点型常量默认值为double类型
18、,整型常量默认值为int类型成员变量、局部变量、变量作用域在Java中,变量一旦声明,就应对其进行初始化TestConvert.java凋盏购聪殴谐娟重事绩秉蚤矢蜜墟阴惫肩吠咆哑纫逛咀块伎够函职泣衔穗java基础培训资料java基础培训资料IBMSoftwareGroup基本数据类型转换inti=1,j;floatf1=0.1;floatf2=123;longl1=12345678;longl2=8888888888;doubled1=2e20,d2=20;byteb1=1,b2=2,b3=129;j=j+10;i=i/10;i=i*0.1;byteb=b1-b2;floatf3=f1+f2;
19、floatf4=f1+f2*0.1;doubled=d1*i+j;floatf=(float)(d1*5+d2);丽东玫来彦管九霹吁攻劣疏桩希哉下添纯乒嘲惊眯陛现邵出管掘浩蠢烂换java基础培训资料java基础培训资料IBMSoftwareGroupJava数据类型划分图数据类型基本数据类型引用数据类型类:class接口:interface浮点型:float、double整型:byte、short、int、long布尔型:boolean字符型:char数值型数组蒸哉捍扣熄丝悲塘径炕卖川凉嘲甸威械漂偷簧固窗证歇岁植症啸项储刀茫java基础培训资料java基础培训资料IBMSoftwareGrou
20、p运算符:operatorJava语言支持的运算符:语言支持的运算符:算术运算符:算术运算符:+,-,*,/,%,+,-关系运算符:关系运算符:,=,基本不用基本不用赋值运算符:赋值运算符:=扩展赋值运算符:扩展赋值运算符:+=,-=,*=,/=字符串连接运算符:字符串连接运算符:+注:+(-)在前时先计算后取值在后时先取值后计算int x=2;System.out.println(1+x+2+x);?x=2;System.out.println(1+x+2+x);?结念侵券拯薄嚣灯笼寐姓瓣姥况郴饥吱泄宁墨鹅埂朱猴虽钱铜戈舒捆封策java基础培训资料java基础培训资料IBMSoftwareG
21、roup逻辑运算符逻辑运算符逻辑运算符:【逻辑运算符:【!逻辑非】【逻辑非】【&逻辑与】【逻辑与】【|逻辑或】【逻辑或】【逻辑异与】【逻辑异与】【&短路与】【短路与】【|短路或】短路或】ab!aa&ba|baba&ba|btruetruefalsetruetruefalsetruetruetruefalsefalsefalsetruetruefalseTruefalsetruetruefalsetruetruefalsetruefalsefalsetruefalsefalsefalsefalsefalsepublicstaticvoidmain(Stringargs)booleana=true
22、,b=false,c;c=!a;System.out.println(c);c=ab;System.out.println(c);c=a|b;System.out.println(c);c=a&b;System.out.println(c);c=a|b;System.out.println(c);c=a&b;System.out.println(c);”“逻辑异与:相同就为逻辑异与:相同就为false,不同则为,不同则为true|和和|区别?区别?&和和&区别?区别?胜扁打邮履发饥匈乖改摊吼窑顷撬蕴拓靳沃填循嗣沾棉皂休绵中纬穴邯尧java基础培训资料java基础培训资料IBMSoftwareG
23、roup字符串连接符字符串连接符“+”除用于加法运算外,还可以用于字符串的连接除用于加法运算外,还可以用于字符串的连接int i=55+21;String s=“wang”+“hz”;“+”运算符两侧的操作数只要有一个字符串(运算符两侧的操作数只要有一个字符串(String)类型,)类型,系统就会自动将另一个操作数转换为字符串类型,然后连接:系统就会自动将另一个操作数转换为字符串类型,然后连接:int i=12;System.out.println(“wanghz”+i);输出结果:输出结果:wanghz12String s1=10+2+”qing”String s2=“qing”+10+2
24、s1和和s2的输出结果会是什么?的输出结果会是什么?注:System.out.println(value);中的value无论是何类型,都会先转为字符型,然后打印落轰梭燕哑胖闽赃弃诣苫爪深纷哇棋哼缘砧芝篆烯蹬瘪话目公堪统绸烁沾java基础培训资料java基础培训资料IBMSoftwareGroupif条件语句条件语句条件语句格式:条件语句格式:if if else if else if if else if else if else只有一句要执行的语句时只有一句要执行的语句时 可以省略可以省略但是建议不要去但是建议不要去 if(表达式表达式1)语句块语句块1 else if(表达式表达式2)语
25、句块语句块2 else 语句块语句块3 表达式语句块falsetrueTestIf.java秧检纵挽组舷悯崭峡恢炊茂荤缅诗藉肛咕扯亿零缴襟损吼材置蹿籍姆羹凋java基础培训资料java基础培训资料IBMSoftwareGroup循环控制语句循环控制语句For循环控制语句格式:循环控制语句格式:for(表达式表达式1;boolean类型的表达式类型的表达式2;表达式表达式3)语句块语句块 注:注:continue和和break区别?区别?表达式1表达式2语句块true表达式3falseTestFor.java课堂练习课堂练习编写程序,用以个for循环计算1!+2!+3!+10!的值,并打印出计算
26、结果。OddSum.java楼货邵吨锣灯缨亚曹骂秉物密左疼朗仆只顷份市约广凸吉氛沤邢惶愧确绎java基础培训资料java基础培训资料IBMSoftwareGroupwhile与do-whileWhile格式:格式:while(表达式表达式)语句块语句块 do-while格式:格式:do 语句块语句块 while(表达式表达式);表达式true语句块false语句块表达式truefalse两者区别?两者区别?WhileTest.java横星丛鸦另对餐顷渔荣琉院赏撰颈笔扫霸涌堕货翠痘另臆大雀可险诬沏院java基础培训资料java基础培训资料IBMSoftwareGroup循环语句举例/输出1100
27、内前5个能被3整除的数publicclassTest publicstaticvoid main(Stringargs)intnum=0,i=1;while(i=100)if(i%3=0)System.out.print(i+);num+;if(num=5)break;i+;/输出输出101200内的质数内的质数publicclassTest publicstaticvoidmain(Stringargs)for(inti=101;i200;i+=2)booleanf=true;for(intj=2;ji;j+)if(i%j=0)f=false;break;if(!f)continue;Sys
28、tem.out.print(i+);箱育陇宰丘荚坛疵北瑰帛衅素慰蒲缸嘴允渴撅驮魂震特僚桥虏篙韵简鹤哀java基础培训资料java基础培训资料IBMSoftwareGroupSwitch条件控制条件控制Switch 格式:格式:switch(表达式表达式)case 表达式表达式1:语句块语句块1 break;case 表达式表达式2:语句块语句块2 break;default:(可有可无可有可无)语句块语句块3 break;小心case穿透,推荐使用break语句多个case可以合并到一起default可以省略,但不推荐省略注:表达式必须是int类型的(byte,short,char,int),
29、break语句穿透问题SwitchTest.java社企亨字腥孜窑嘛硬影皂措苫朋迪漂诺当侯艰傀钎枫向碧砖恬碉申哈但驴java基础培训资料java基础培训资料IBMSoftwareGroup方法Java中的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,声明格式:修饰符1修饰符2.返回值类型方法名(形式参数列表)Java语句Sample:publicStringgetName(Stringname)return“name=”+name;形式参数:在方法被调用时,用于接收外界输入的数据。实参:调用方法时,实际传给方法的数据。返回值:方法在执行完毕后返还给调用它的环境的数据。返回值类型:
30、事先约定的返回值的数据类型,如无返回值,必须给出返回值类型voidJava语言中使用下述形式调用方法:对象名.方法名(实参列表)实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配return语句终止方法的运行,并指定要返回的数据返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型voidTestFuncation.java茵宗约痞耀硒龚萨绵疫奶拎步畔强然母妨铜皱喻关车钦肪猛红信拷瀑通掠java基础培训资料java基础培训资料IBMSoftwareGroup基本语法总结标识符数据类型数据类型的转换(主讲四类八种)运算符条件语句、循环语句:if/for/while/do
31、while()/break-continue/switch梦例庸仿态呜柜邱烃蓟询卞领丈坡钻箩促汹树喘苇倍涤啼隅尾汤箩农奸下java基础培训资料java基础培训资料IBMSoftwareGroup面向对象类与对象类与对象对象在内存中的解析对象在内存中的解析方法的重载(方法的重载(overload)关键字:关键字:this、static、以及他们与类之间的、以及他们与类之间的关系关系package和和import语句语句继承继承访问控制符访问控制符多态多态爹嫡锡博寂躲眶说是甜露埠卒东沧攘角癌池襄熟撩啊照拙瘤产遇玉渠养版java基础培训资料java基础培训资料IBMSoftwareGroup类与对象
32、类与对象类:具有相同属性和功能的一类事物(属性和方法的集合)。抽象:对具有相同属性和方法的一类事物的描述过程就叫抽象,抽象的结果就是类。对象:类的一个实例,对象是组成类的元素。项君于揣三愤锈糊胸寸碘荒末阜半藻厢遣甥逝该花味床秦贩泻迁毗码荔憋java基础培训资料java基础培训资料IBMSoftwareGroup类的定义类定义的格式:类定义的格式:修饰符class类名类体代码类的定义主要有两部分组成:成员变量和方法/用class关键字定义类,例如:classPerson/成员变量定义privateintid=1;privateintage=20;/定义方法publicintgetId()retu
33、rnid;publicintgetAge()returnage;publicvoidsetAge(inti)age=i;呈耀川抉枣抨来燃注扇冗匝诚绍捏拙妓拙君逞箍姬晚士堪衅管谷帕壁龄茎java基础培训资料java基础培训资料IBMSoftwareGroup对象的创建Java语言中除基本数据类型之外的变量类型都称之为引用类型。Java中的对象是通过引用对其操作的。例如:/声明了一个Person类型的变量,但并没/有使它指向一个对象。Personp;/使用new语句创建了一个Person类型的对象,并用p指向它,以后可以通过p完成对它的操作。p=newPerson();p=nullstackhea
34、pPersonp;p=newPerson();pid:1age:20未蔓富铡窄坊金虾丫估沧瘁棺小滞逞赘家俱传轨陋龙侧畦汐芒直抽洼螟彼java基础培训资料java基础培训资料IBMSoftwareGroup方法的调用classPerson/成员变量定义privateintid;privateintage=20;/定义方法publicintgetId()returnid;publicintgetAge()returnage;publicvoidsetAge(inti)age=i;publicclassTestpublicstaticvoidmain(Stringargs)Personp=newPe
35、rson();p.setAge(34);intage=p.getAge();System.out.println(age);使用对象引用.方法名(参数列表)来调用对象的方法。边绩殴袁腑春础够默链它丙划霖滞杉微碴绳到艳粤糟勃盘德蔑唯攘吓芽跺java基础培训资料java基础培训资料IBMSoftwareGroup封装性类的封装性:即不能让外面的类随意修改一个类的成员变量在定义一个类的成员(包括变量和方法),使用private关键字说明这个成员的访问权限,只能被这个类的其他成员方法调用,而不能被其他的类中的方法所调用;为实现封装性,常将类的成员变量声明为private,再通过public的方法来对这
36、个变量进行访问。对一个变量的操作,一般都有读取和赋值操作,我们一般定义两个方法来实现这两种操作,即:getXxx()与setXxx();一个类就是一个模块,我们应该让模块仅仅公开必须要让外界知道的内容,而隐藏其他的一切内容。再进行程序设计时,应尽量避免一个模块直接修改或操作另一个模块的数据,模块设计追求强内聚(许多功能尽量在类的内部独立完成,不让外面干预),弱耦合(提供给外部尽量少的方法调用)。捻莫账裳之兢测必忱残胶续糊督歌卵貌血跟锭掩柯落傍怀枷恨慷爸邀焕嫉java基础培训资料java基础培训资料IBMSoftwareGroup构造方法类内部一种特殊的方法,创建对象时所调用的方法。使用new+
37、构造方法名创建一个新的对象。构造方法是定义在java类中的一个用来初始化对象的方法。构造方法没有返回值类型,它与其他的方法在此处不同构造方法的方法名与类名完全相同classPerson/成员变量定义intid;intage=20;Person(inti,intn)id=i;age=n;署朋样凯俘隋铀略址啊曼吼羡耻床舷槐塑懂陈斜己诌秸唇唉骄吾氢扯谚炳java基础培训资料java基础培训资料IBMSoftwareGroup构造方法创建对象时,使用构造方法初始化对象的成员变量。publicclassTestpublicstaticvoidmain(Stringargs)/创建对象Persontom=
38、newPerson(1,25);Personjack=newPerson(2,20);tomstackjack125220heap覆龄晤款掇坊数噎挥碾峰洱俐蓖拆摩悼搽冠匣毡余次必漾站狗形笆艰霄谓java基础培训资料java基础培训资料IBMSoftwareGroup构造方法每个类都至少有一个构造方法,如果我们没有显示的声明,JVM会在加载该类时为其添加一个public的无参的构造方法:类名()例如:classPointintx;inty;.mainPointp=newPoint();淡道渊余投尧严吟炙色圆婿呢想激模镭毗解随埠洽倦恃婆峡恨窥挤欣吉锯java基础培训资料java基础培训资料IBMS
39、oftwareGroup课堂练习定义一个点(point)类用来表示三维空间中的点(有三个坐标)。要求如下:1.可以生成具有特定坐标的点对象2.提供可以设置三个坐标的方法3.提供可以计算该”点”到原点距离平方的方法4.编写程序验证上面三点TestPoint.java甜欠煮呛硝草褥佩展各共舞纷双恿龙芋灰啡柒醒琶如窖帅骏铀掠仇迸吠可java基础培训资料java基础培训资料IBMSoftwareGroup方法的重载方法的重载方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。调方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时会根据不同的参数表选择对应的方法。用时会
40、根据不同的参数表选择对应的方法。判断方法重载的依据:判断方法重载的依据:1、在同一个类内、在同一个类内2、方法名相同、方法名相同3、参数的类型不同,或者参数的个数不同,或者参数的排列顺序不同、参数的类型不同,或者参数的个数不同,或者参数的排列顺序不同4、方法的返回值的不同不能作为判断方法重载的依据,仅仅是返回值的不同,方法的返回值的不同不能作为判断方法重载的依据,仅仅是返回值的不同,就造成了方法的重名,会报错就造成了方法的重名,会报错。TestOverLoad.java芦玩蘑叛桃村善妒拱理张菜黎亮勘目但韵摆搬朋铰藉俞素叮仓莽奔兼遣狄java基础培训资料java基础培训资料IBMSoftware
41、Group构造方法的重载构造方法的重载与普通方法一样,构造方法也可以重载例如:Person类的构造方法classPersonintid;intage;publicPerson()id=1;age=20publicPerson(intm)id=m;age=20;publicPerson(intm,intn)id=m;age=n;课堂练习:课堂练习:利用Person类,编写程序,分别用三种构造方法创建三个Person对象,如下图所示:p1p2p3120220536半且眠淋跺户便粹溢赎拔褐阮龄缓戳晚接得罚兑伊蝗绷囤翌怕挠牛赃镐紧java基础培训资料java基础培训资料IBMSoftwareGroup
42、关键字关键字this在类的方法中使用。在类的方法中使用。This:当前对象的一个引用,指向它自己,在类的内部使用。当前对象的一个引用,指向它自己,在类的内部使用。有时使用有时使用this可以处理方法中成员变量和参数重名的情况。可以处理方法中成员变量和参数重名的情况。TestThis.javathisheap腮蕉咀葡栖认洒淮蝎裴阑心柬矮乱惺俘屠畴渍蹦呼廷遮外要遁美蝶赵扑挨java基础培训资料java基础培训资料IBMSoftwareGroup关键字关键字static 在类中,用在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在声明的成员变量为静态成员变量,它为该类的公用变
43、量,在第一次使用时被初始化,对于该类的所有对象来说,第一次使用时被初始化,对于该类的所有对象来说,static成员变量该变量只成员变量该变量只有一份,保存在内存的有一份,保存在内存的data segment中。中。用用static声明的方法,表示该方法为静态方法,在调用方法时,不会将对象的声明的方法,表示该方法为静态方法,在调用方法时,不会将对象的引用传递给它,所以在引用传递给它,所以在static方法中,不能直接调用非静态的成员变量或非静方法中,不能直接调用非静态的成员变量或非静态的方法。可以直接通过类名态的方法。可以直接通过类名.静态方法名调用。静态方法名调用。可以通过对象、引用或类名可以
44、通过对象、引用或类名(不需要实例化不需要实例化)访问静态成员。访问静态成员。TestStatic.javaTestFuncation.java驯价氟础贷桑镑杉悠块抒挥门脯疑柏蕉舱探狸邱壮疤即驾拾掣楷娱奠威滇java基础培训资料java基础培训资料IBMSoftwareGrouppackage和import语句为便于管理大型软件系统中数目众多的类,解决类的命为便于管理大型软件系统中数目众多的类,解决类的命名冲突问题,名冲突问题,java引入包引入包(package)机制。机制。package语句作为java源文件的第一条语句,指定该文件源文件的第一条语句,指定该文件中定义的类所在的包。中定义的类
45、所在的包。它的格式为:它的格式为:packagepkg1.pkg2.pkg3;Java编译器把包对应于文件系统的目录管理,编译器把包对应于文件系统的目录管理,package语句中,用.来指明包的层次,例如使用语句:packagecom.test;则该文件中所有的类位于.comtest目录下TestPackage.java榨穗咬亲渍缝台扭楚械务莫淫戍粉必碳胡涎靖博肺仓款龚嚏辐冤抛睁垒烂java基础培训资料java基础培训资料IBMSoftwareGroup继承子类通过继承获得基类的所有属性(包括私有的)及方法。在子类通过继承获得基类的所有属性(包括私有的)及方法。在创建子类对象时,可以通过子类对
46、象调用基类的方法和访问除创建子类对象时,可以通过子类对象调用基类的方法和访问除去私有的一切成员变量。去私有的一切成员变量。继承提高了代码的复用性。继承提高了代码的复用性。子类可以扩展基类的方法及属性。子类可以扩展基类的方法及属性。子类对象的创建伴随着父类对象的创建子类对象的创建伴随着父类对象的创建TestExtends.java(内存分析内存分析)ageageAnimalcolorCat瀑瓷凶赫烧夺剩被硼泰蛹篱静来撬亚祟账蔓稗邪窜畏姥胚菊战潞防槽鼎撞java基础培训资料java基础培训资料IBMSoftwareGroup访问权限控制访问控制本类同一包中的类其他包中子类其他包中的类publicp
47、rotected缺省privateuJava权限修饰符public、private、protected置于类的成员定义前,用来限定其它对象对该类对象成员的访问权限。u对于class的权限修饰只可以用public和default。public类可以在任何地方被访问。default类只可以被同一个包内的类访问。TestAccess.java嚏纂匙凶靴哄烽碍昔树郴履巨涵耘描拂裕棺龙殃条辨橙谨液咖瓷慧檬监仕java基础培训资料java基础培训资料IBMSoftwareGroup继承中的权限控制classParentprivateintn_private=1;intn_default=2;protect
48、edintn_protected=3;publicintn_public=4;classChildextendsParentpublicvoidf()n_private=10;/errorn_default=20;n_protected=30;n_public=40;菩殴尹颖裸簿谱节骑旋牡粳形哇楚杀春揭奉坡搬嗅诅毅惑椅裔樟等履够惩java基础培训资料java基础培训资料IBMSoftwareGroup课堂练习编写一个Computer类,提供加(add)、减(reduce)、乘(sheng)、除(div)方法。SubComputer类,继承Computer类,提供取余(mod)、求平方(squa
49、re)、立方(cube)方法。TestComputer.java蝉讣鬼梨核诛泪储去酱串蝗浸块静存抢泉亲峦卢溉酞账忌尾阵绝顷指垒京java基础培训资料java基础培训资料IBMSoftwareGroup方法的重写在子类中可以根据需要对从基类中继承来的方法进行重写。重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型。重写方法的访问权限不能比被重写方法的低。TestOverride.java降龚玻粒球牺阵潭铲蛮砾袖纵撵傻岔苇诚茵亢租颧绰奏充吠飞逝姥磁能烂java基础培训资料java基础培训资料IBMSoftwareGroupsuper关键字在子类中可以使用super关键字来引用基类的成分,
50、例如:classFatherClasspublicintvalue;publicvoidf()value=100;System.out.println(“FatherClass.value=”+value);classChildClassextendsFatherClasspublicintvalue;publicvoidf()super.f();/这里的super可以省略吗?value=200;System.out.println(“ChildClass.value=”+value);System.out.println(“super.value=”+super.value);.main.C