您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > JAVA程序员培训1
1JAVA程序员培训-12课程内容第1章----第5章Java基本语法第6章----第8章更多的面向对象编程第9章创建应用程序第10章----第12章开发图形用户界面第13章----第15章高级Java编程3课程安排第一天1,2,3第二天4,5,6第三天7,8,9第四天10,11,12第五天13,14,154第一章Java语言入门广泛使用的网络编程语言提供了丰富的类库两种主要应用模式:Application和Applet核心是以前被称为Oak的编程语言,Java技术三部分:语言,工具集,运行环境5一、java的特点1、简单:不支持指针,对内存管理用一个后台线程来完成。不支持头文件,不支持goto语句,不支持多继承,这些都避免了调用的混乱。2、面向对象:对象封装了数据和方法,类是一组对象的原型。用类组织程序可实现模块化(可移植性好)和信息隐藏(private)。类通过继承,使子类可以使用父类所提供的方法,实现代码重复使用。分析阶段先有对象后有类,而编程时先有类后有对象。63、多态性、鲁棒性、继承性1)多态性多种表现形式,用一个对外接口,多个内在实现“方法”表示。(如重载)2)鲁棒性java编译和运行时,都会对可能出现的问题进行检查,以消除错误的产生。自动垃圾收集进行内存管理,防止程序员管理内存时出错。通过集成的面向对象的异常处理机制,对编译时可能出现的但未被处理的异常进行提示。3)继承指一个对象直接使用另一个对象的属性和方法。相当于创建一个新类。基础类与衍生类可以分开。一、java的特点74、平台无关性解释器对字节码进行解释,只要安装了java运行时系统,编写出的java程序就可以通过网络在不同平台上运行。浏览器JVM解释器一、java的特点8JVM:定义:Animaginarymachinethatisimplementedbyemulatingitinsoftwareonarealmachine.CodefortheJavaVirtualMachineisstoredin.classfiles,eachofwhichcontainscodeforatmostonepublicclass.9JVM是用来定义Java字节代码在给定的计算机系统中如何被处理的一组规范。可用软件实现,也可用硬件实现。可以在Java开发工具中,也可以在浏览器中。编译器为JVM产生字节码(低级机器指令码),JVM执行这些命令。所有支持Java小应用程序的Web浏览器都有内置的JVM,小应用程序在网络中传送,下载的是字节码,由建立于浏览器中的JVM进行解释。105、解释执行虽然解释执行速度会慢一些,但是字节码带有许多编译时信息,使连接过程更加简单。Java字节码可运行在安装有JVM的任何平台上。一、java的特点11一、java的特点6、多线程进程:指在内存中正在运行的程序,进程间相互独立。线程:在一个程序中,这些独立运行的片断叫做线程(thread),是一个可执行的单位,与进程不同,多个线程共享一块内存空间和一组系统资源。多线程处理一个常见的例子就是用户界面。利用线程,用户可按下一个按钮,然后程序立即作出响应,而不是让用户等待程序完成了当前任务以后才开始响应。12Java提供动态分配内存。一般的语言,易发生“内存外漏”。但在Java中再也不用编程人员费神了,这是因为JVM(javaVirtualMachine)内部有一种叫做垃圾收集器的线程。垃圾收集器一直在跟踪处理器空闲时期的内存状态。它可以找出不再使用的内存并自动消除。7、垃圾回收机制131)程序员无权回收内存。(系统级线程跟踪每一个存储空间的分配情况)2)系统自动完成。(在JVM空闲周期,垃圾收集线程检查,释放内存。)3)时间不固定4)程序员可以使本地变量失去意义,例使本地变量赋值为空5)垃圾回收机制当运行用户线程时,不能回收内存6)垃圾回收时必须是对象不再用.7、垃圾回收机制14二、JDK的安装、设置及文档的使用1.JDK(JavaDevelopmentKit)Java开发工具包C:\jdk1.4\bin(javac,java…)C:\jdk1.4\lib(类库)C:\jdk1.4\demo(例子)2.设置.bat文件path=c:\jdk1.4\bin;setclasspath=.;c:\jdk1.4\lib3.API(ApplicationProgramingInterface)Java文档(HTML形式)解压缩后放在C:\jdk1.4\docs1516三.编写第一个Java程序1.application程序源程序classFirst{publicstaticvoidmain(Stringargs[]){System.out.println(“HelloWorld!”);}}编译javacFirst.java执行javaFirst(文件名必须与公有类名一致,仅有类默认为公有类)//见书1-182、applet程序源程序:importjava.applet.Applet;importjava.awt.Graphics;publicclassEx2extendsApplet{publicvoidpaint(Graphicsg){g.drawString(“helloworld”,25,25);}}编译:javacEx2.java嵌入HTML文件:appletcode=Ex2.classwidth=200height=200/applet运行:1)浏览器运行2)用工具appletviewer运行18publicclassTest1{publicstaticvoidmain(String[]args){System.out.println(What'swrongwiththisprogram?);}}publicclassTestAnother1{publicstaticvoidmain(String[]args){System.out.println(What'swrongwiththisprogram?);}}Exercise1:19publicclassTesting2{publicstaticvoidmain(String[]args){System.out.println(What'swrongwiththisprogram?);}}//Test2Exercise2:20publicclassTest3{publicstaticvoidmain(Stringargs){System.out.println(What'swrongwiththisprogram?);}}Exercise3:21publicclassTest4{publicvoidmain(String[]args){System.out.println(What'swrongwiththisprogram?);}}练习:编写书1-18Exercise4:22对于JAVA程序设计员,Sun推出两项认证:SunCertifiedJAVAProgrammer(SCJP)SunCertifiedJAVADeveloper(SCJD)23第二章面向对象的程序设计一、面向对象程序设计过程241、对象任何事物都可以被看作为对象(object),面向对象的程序设计方法就是将对象做为程序设计的基础,把对象的状态和所允许的操作结合起来考虑,对现实中的对象进行抽象化和模型化,从而上升到具体设计中的对象。尽管一切都可以看成是对象,但操纵的标志符实际上是指向对象的句柄(handle),也叫引用.2、类不同对象具有相同特征,我们就引入类的概念,类是创建对象的模板,定义了由它所创建对象描述,即对象中的变量和方法的定义。类是一个蓝图,通过这个蓝图可以构造多个物理实体。类只不过是一个软件蓝图,是对一类对象的描述,以此可以构造多个对象。3、实例化由类创建对象成为对类进行实例化,这里的对象成为相应类的一个实例.二、面向对象的基本概念254、封装封装的含义就是将数据连同操作数据的方法捆绑在一起构成一个具有类类型的对象。封装通过类的定义来实现。对象内部数据的不可访问性称为数据隐藏。封装的好处就是把一个对象象一个部件一样用在各个程序中,不用担心对象的功能受到影响。5、类之间关系常见的有:调用关系、包含关系、继承关系二、面向对象的基本概念26例子:大楼设计图纸1号楼,2号楼,3号楼……..属性:颜色,风格,防震级别,材料人张三,李四,王二…….属性:身高,年龄行为(方法):走路(),劳动(工具)卡车东风,解放…………属性:发动机,马力,速度,运货吨数,公里…..行为:运货(品种),(司机)转弯()构造对象:实例化张三构造函数(1.85米,28岁,140斤){……..}构造函数生成一个实际对象并初始化它的属性。一个类是集合体.27[权限][修饰]class类名[extends父类名][implements接口列表]{类体;}权限:public——公有类缺省——同包类修饰:abstract抽象类,只能被继承final:终极类,不能被继承四、对象定义Aa=newA();三、类的定义EX28本类同包类非同包子类非同包非子类public√√√√protected√√√(default)√√private√五、数据成员和方法成员的权限29六.类的组成类由数据成员和方法成员组成30[权限][修饰]类型变量名[=初值];修饰:1)static有—类变量(类名或对象名点取)无—实例变量(对象名点取)2)final用于修饰常量staticfinalintN=5;//int型常量5如果有N++出现,会有编译错误,因为常量不能被改变.1、数据成员publicclassCircle{intx;publicintx(){returnx;}publicvoidsetX(intnewX){x=newX;}publicstaticvoidmain(Stringargs[]){CirclemyCircle=newCircle();CircleyourCircle=newCircle();myCircle.setX(23);yourCircle.x=10;System.out.println(myCircle.x=+myCircle.x());System.out.println(yourCircle.x=+yourCircle.x());}}32[权限][修饰]返回值类型方法名(形参列表){方法体;}2、方法成员33修饰:1)static1、无—实例方法(对象名点取)2、有—类方法(类名或对象名点取)2)abstract---抽象1、抽象类中不一定有抽象方法,但含有抽象方法的类必须是抽象类。2、构造函数不能声明为抽象。3、抽象类只能用来继承,不能用来创建对象,可以声明引用。4、抽象类继承时,一定要重写抽象方法,并且抽象方法没有方法体3)final--终极方法,不能被覆盖4)native—用来把java代码和其他语言的代码集成起来34七.方法重载与构造方法1、方法重载特点:1)在同一个类中(一般)2)方法名相同3)参数的个数或类型或顺序不同注意:只有返回值类型不同,不叫方法重载,编译时会报错。classA{intmax(inta,intb){returnab?a:b;}doublemax(doublea,doubleb){returnab?a:b;}Stringmax(Stringa,Stringb){returna.length()b.length()?a:b);}publicstaticvoidmain(Strings[]){Aa=newA();a.max(5,6);a.max(4.5,6.7);a.max(“abc”,“def”);}}2、构造方法:1)方法名=类名2)一般选择public访问权限3)不能有任何修饰,无返回值类型publicclassThing{privateintx;publicThing(){x=
本文标题:JAVA程序员培训1
链接地址:https://www.777doc.com/doc-958905 .html