

免费预览已结束,剩余77页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
前言-java2 程序设计培训课程安排第一天(1)java面向对象编程方法、类与对象、属性、方法、构造函数、终结函数、静态成员等;(2)类的继承与派生、this、super的用法、包与接口编程、引用包、java语言基础(数据类型、运算符、语句及控制流)、数组、字符串等。第二天(1)java aapplication及applet编程(原理、格式、实例讲解)、多线程编程(创建方法、格式、实例讲解)、java多线程互斥及同步控制和通信、线程的优先级等;(2)java多媒体编程(文字、图形、图像、声音及动画等编程技术及实例讲解)。异常处理技术(声明、抛出、捕获、实例讲解等)。第三天(1)java gui编程(awt机制、基本组件、容器组件、菜单、对话框等及gui事件编程等技术);(2)多applet之间通讯、给applet程序提供外部参数、远程文件访问、socket网络编程、实例讲解。第四天(1)java的文件(读写)输入输出(本地文件读写、管道输入输出、随机文件读写、标准输入输出流等)、实例讲解等;(2)java 数据库编程技术(jdbc)、实例讲解等(3)机动内容(java applet程序的安全性、java程序的运行环境、java application与applet编程实例等)目 录前言-java2 程序设计培训课程安排1目 录2第一讲:java 语言及面向对象程序设计(1)3第二讲:java 语言及面向对象程序设计(2)11第三讲:java applet 编程及线 程技术21第四讲、java 多媒体编程应用技术31第五讲、java中的异常(例外)处理技术39第六讲、java gui控件及事件编程45第七讲、java网络通讯技术49第八讲、java的文件(读写)输入输出56第九讲、java的数据库连接编程(jdbc)技术63附录一、java运行环境的设置方法72附录二、java applet程序的安全性72附录三、java程序的运行环境74附录四、java2培训课程的上机练习75 注意:本培训讲义中所用的特殊符号含义如下。要点f 实例 配置步骤&n 选学内容$第一讲:java 语言及面向对象程序设计(1) 本讲的知识要点:java的主要特点、面向对象程序设计方法、oop的四个基本机制。 java语言中的类与对象的编程、各种类型的类编程、类中的各种成员的定义语法。 它是与平台有关的语言1.1 java 语言基础1.1.1 java语言产生的背景:java的前身为 oak。1995年,sun公司发布了面向对象的语言java(由james gosling设计的)。1.1.2 java的主要特点(并与c+、javascrip/vbscript脚本、html标签等的对比):该两种脚本功能简单并且不提供图形编程 面向对象:程序员在编程时应以类为编程单元并通过对象来操作使用类中的数据成员(属性)、代码成员(方法)它只提供简单、静态的标签,public class myclass /定义出程序的类 private int val1,val2 ; public void myfun(int x,int y) val1=x ;val2=y ; public static void main(string arg)myclass myobj=new myclass();myobj.fun(1,2);/定义出一个类并实现封装 分布式编程模式:计算的分散(功能代码可以分散在客户机、服务器机及其它主机中)及数据的分散(程序员在编程时所用到的资源可以在远程主机中)。getimage(“http:/www.myd”,”mygiffile.gif”); 加载远程资源文件或 与平台(cpu、os类型)无关性(一次编程到处执行,write one, run anywhere.)。具体的机制如下:java类代码(myapplet.class)-java运行时的解释器(ie、nescape浏览器 或 解释器java.exe)-翻译为目标机器cpu的机器代码1.1.3 java2的主要应用领域:(1)嵌入式技术(如手持设备等);(2)基于corba/rmi 的分布式应用(如电子商务);(3)基于ejb的java2企业级解决方案设计。1.1.4 java2的主要版本:(1)j2me(java2 micro edition),针对嵌入式技术(如手机)。(2)j2se(java2 standard edition),针对桌面计算机开发(主要有java applet-网页中内嵌的小程序及java application-应用程序);(3)j2ee(java2 enterprise edition),针对企业级的应用解决方案(主要有jdbc corba ejb javaservlets jsp以及对xml的支持)1.1.5 java的开发方式:(1)采用标准的jdk,目前的版本为jdk1.4,可以从/j2se/1.3下载获得。(2)采用第三方的可视化开发工具(borlandc公司的:jbuilder。 symantec公司的visual caf。 ibm公司的visual age for java等)。1.1.6 java的可视化开发工具:symantec公司的visual caf 4.0下编程。(1)新建一个工程项目:file-new project选择项目类型(如可以选择empty project等)。缺省的文件路径为c:visualcafebintempprjx(x为序号);(2)添加文件:file files into project选择您的文件名。(3)编译执行project文件:projectexecute或 ctrl +f5键(注意:如果执行的是java applet程序,应先在项目文件中选中*.html文件,然后再执行它,此时将自动起动appletviewer。)(4)绑定事件:右击控件,然后选择bind event选择事件类型选择add按纽。(5)演示几种类型的java项目的程序。win32 console、awt application、awt applet等程序1.1.7 java 的技术体系结构(1)java2编程技术:以j2sdk-java2 software development kit(java2软件开发工具箱)作为开发环境。主要可以编写客户端的java applet及 java application程序。(2)java2服务器端编程技术:以jswdk-java server web development kit(java服务器web网络开发工具箱)或tomcat、jrun、web logic等作为开发环境。主要以java servlet(java2服务器端applet程序)及基于servlet的web动态网页编程技术jsp(java server pages)。(3)java2企业级分布式编程技术:以j2ee-java2 enterprise 为代表,主要包括rmi、ejb、jini、jnd等方面的应用。主要是解决企业级异构环境(不同主机、不同的操作系统)下的编程。1.1.8 java解释执行过程:(1)代码的装入(通过类装载器来实现);(2)代码的检验;(3)代码的执行。父母我儿女兄妹朋友1.2 面向对象程序设计方法1.2.1面向对象程序设计: 面向对象(object oriented):它是一种解决问题的方法或者观点,它认为自然界是由一组彼此相关并能相互通信的实体(object-对象)所组成。 面向对象程序设计方法(oop):它使用面向对象的观点来描述现实问题,然后用计算机语言来模仿并处理该问题的一种程序设计方法。 要求:描述或处理问题时应具有高度的概括、分类并对它抽象的能力,才能准确地描述某一实体;将所要处理的问题抽象为对象(数据与代码的集合) 目的:实现软件设计的产业化,变手工作坊式编程为软件构件式工业化,达到快速高效编程。1.2.2面向对象程序设计方法的编程语言: smalltalk:由美国加州的xeror公司于70年代初研制的纯oop语言,适用于小型机; c+:是在面向过程程序设计方法基础上新增oop成分,因而是一种混合型语言。其流行的原因归功于c语言的普及;但它具有与平台(cpu、os类型)有关性。 java:由sun公司于1995年发布,适用于internet网开发和应用的纯oop语言。1.2.3、面向对象程序设计方法的编程模型:1.2.4、面向对象程序设计方法的编程优点:可重用性、可扩充性、可管理性。1.3、oop的四个基本机制:抽象、封装、继承与派生、多态性1.3.1 oop的抽象:(1)含义:对具体问题(对象)进行概括,抽出这一类对象的公共性质并加以描述的过程。要点f重载函数、先注意问题的本质及描述,其次是实现过程或细节。它直接决定程序的优劣-类的定义及组成元素;、所涉及到的主要内容:数据抽象-描述某类对象的属性或状态(对象相互区别的物理量);代码抽象-描述某类对象的共有的行为特征或具有的功能。(2)如何实现抽象:对问题进行分析,提取其属性和行为。 实例1:窗口这一类对象 数据抽象- int topx,topy, downx,downy, color 代码抽象- openwindow()、closewindow()、movewindow()、changewindow() 实例2:自行车这一类对象 数据抽象- int 型号, char *品牌, int 换挡数 代码抽象- break()、speedup()、changeshift()、run()、stop() 实例3:钟表这一类对象 数据抽象- int hour, int minute, int second 代码抽象- settime()、showtime() 实例4:计算机这一类对象 数据抽象- int型号, char *品牌, int cpu的主频大小 代码抽象- poweron()、compute()、poweroff() 实例5:人这一类对象(人类-地球上的所有人) 数据抽象- char * 姓名, char *性别, int 年龄,int 身分证号 代码抽象- getcloth()、eatfood()、gohome()、step()(生物属性角度)或者: 代码抽象- addperson()、deleteperson()、printdata()、change()(社会属性角度)要点f对同一问题可以有不同的抽象结果,这取决于程序员看问题的视角。1.3.2 oop的封装:(1)含义:提供将所抽象出的问题的属性(数据成员)和行为(代码成员)相组合的一种机制,它能将这二类成员再组合在一起,形成对象或实体。(2)目的:增强使用的安全性,使用者不必了解具体的实现细节,而只需要通过设计者提供的外部接口来操作它。(3)优点:实现高度模块化,从而产生出软件构件(控件);利用控件快速地组装程序。(4)封装的基本要求:有一个特定的边界:所有的内部变化都限制在此边界内(类定义的 );有外部接口:此对象利用它与其它对象发生关联(public成员);有特定的访问权限:在对象外部不能访问或修改受保护的内部实现细节(private成员)。特定的边界特定的访问权限外部接口(5)如何实现封装:采用类定义的 . 。public class watch public void settime(int newh, int newm, int news); void showtime(); private int hour, minute, second; ; 1.3.3oop的继承与派生:参见第2讲的内容1.3.4oop的多态性:参见第2讲的内容1.4 java语言中的类与对象1.4.1 java语言中的类:它定义了某一特定类型的所有对象的共同属性和行为。是对一类具有相同特性的实体的总体描述。(1)类体中的组成:属性-成员数据;方法-成员函数。请您注意区分java中的类定义与c+中的类定义的语法格式上的不同 !(2)java语言中的类的简单定义形式: class 类名 各个成员的定义; 如:class person public outobj eat( food obj) public void step( ) private string name;private int age; 要点f类的定义只是一种模型说明,并不是代表具体的东西(对象)。只有将类实例化后才产生出对象。1.4.2对象(1)含义 它是具有该类类型的一个特定的个体,是类的一个变量。(2)特点:它具有特定的属性和行为,通过对象的成员变量来维护它的属性,通过对象的成员方法,来实现它的行为。(3)声明方式: 类名 对象名 如: person i;(4)对象的实例化(为对象具体地分配出内存空间):对象名=new 类名();如:i=new person();消息的目的对象要点f可以将对象的声明与实例化合二为一(java中的对象只有实例化后,系统才真正创建出它并为它分配出内存空间):person i=new person(); /对象的声明与实例化合二为一(5)调用对象的成员:对象名.成员名;i.eat(苹果);消息的行为产生时所需要的参数(6)消息:对象之间相互作用或通讯是依靠消息来实现的;组成:消息的目的对象;消息所传送到的行为;消息的行为产生时所需要的参数 i.eat(苹果);1.4.3 对象的生存期:创建,使用,删除三个阶段。(1)创建对象:声明并实例化(为它分配内存空间)person i=new person( ); /声明和实例化合二为一,如定义出带参数的构造函数,也可以person i= new person(“yang”);/实例化时并初始化(2)使用对象:利用对象名来操作访问其public型的成员函数或成员数据: i.eat(苹果);要点f由于oop的数据封装特性,成员数据一般都被隐藏,因而不推荐采用对象直接访问类中的成员数据来改变对象的状态,而是通过对象的public型的成员函数来访问对象的成员数据;利用对象不能访问类中的private成员(i.age=30; /错误)。(3)对象的删除(清除); 当对象失除其作用域时,系统自动在后台清除这些对象;public void myfun() person i=new person( ); /此时i 对象将被删除,寿命不可控。 用户也可强行清除某一对象(将它置为null 即可)public void myfun() person i=new person( ); i=null;/此时i对象将被删除,寿命可控。 1.4.4 对象之间的相互关系:包含(内嵌)、继承、关联(引用)。隐含地派生于object类1.5 java语言中的类的一般定义方式一:public class 类名 指明父类名方式二:public class 类名extends 父类名 继承与派生形式的类定义(指明父类名); 方式三: public class 类名extends 父类名 implenents 接口名 继承与派生并实现某一接口形式的类定义; 1.5.1 java语言中的类的种类选项:public,abstract,final,缺省末指定共四种类的修饰符 public 公有类: 编程特性:该类可以被本包中或其它包中类成员函数使用。mypublic.java hepublic.javapackage mypackage; package hepackage;import hepackage.*;import mypackage.*;public class mypublicpublic class hepublic public void myfun() public void hefun() hepublic obj=new hepublic(); mypublic obj=new mypublic(); myclasstwo two=new myclasstwo(); heclasstwotwo=new heclasstwo(); class myclasstwoclass heclasstwo public void myfuntwo() public void hefuntwo() mypublic obj=new mypublic(); hepublic obj=new hepublic(); hepublic obj=new hepublic(); mypublic obj=new mypublic(); 编程要求:一个java包中(源程序中)只允许定义出一个public型的类;并且此时源程序的文件名应与pubulic类的类名同名,文件扩展名为*.java。 编程应用:一般可将java application 中的main()函数所在的类或java applet中的init()函数所在的类设计为public类。 abstract 抽象类(没有具体对象的概念类): 编程特性:包含有抽象函数(只有函数原型而没有具体函数体定义的成员函数)的类(它定义了所有子类的共同属性与方法集)。 编程要求:它一般应是父类并且必须被继承和派生,在派生类中应重写抽象函数;抽象类不能实例化其对象,而应采用其派生类来实例它(此时执行派生类中定义出的成员方法);抽象类中的抽象函数不能设计为private成员。abstract class person /此时的“人”是那个国家的人?不确定(即为抽象的人) public abstract outobj eatfood(food obj); class chinese extends personclass american extends person public outobj eatfood(food obj); public outobj eatfood(food obj) 编程时: person mem=new person(); /错误person men=new chinese(); /正确person women=new american(); /正确 编程应用:抽象类主要是为派生类提供功能实现的模型和要求。 final(定止类,终极类): 编程特性:该类不允许再被继承与派生;但其内的成员方法都有函数体定义final class basepublic void myfun()class derived extends base/错误,base类不允许再被继承 编程要求:final不能与abstract组合在一起使用来说明一个类,否则会相互矛盾。abstract final class person /错误 public abstract outobj eatfood(food obj); 编程应用:如果一个类编写的已较丰富,或基于安全性考虑,不希望派生者再对它进行派生以覆盖其特定的成员函数的应用场合(固定的标准功能的类)。 缺省末指定的类 编程特性:该类只能被其所在的包中其它类使用。 class myclass extends superclass 编程应用:一般将程序中需要共享的类设计为public类,而不共享的类可以设计为缺省末指定的类。1.5.2 类中的成员定义:成员数据(属性)定义的一般格式 访问控制 变量的种类 变量的数据类型 变量名; public static int val; 成员数据的访问控制选项:public 、private 、protected、default(缺省末定义)a、public它可被所有形式的类访问(通过各级对象名或在本类和子类中的成员中访问)b、protected它可以被相同包或不同包中的这个类本身及它的子类的成员访问;但通过对象来访问时,只可以被相同包中的任何形式的类对象来访问,而不能被不同包中的任何形式类对象访问。c、缺省末指明:可被这个类本身和同一包中的所用其它子类成员访问(但不同包中的子类成员不能访问它,这是与protected的区别);通过对象来访问时,则只能在相同包中的以该类或它的子类对象来访问。d、private:仅能被本类的各个成员函数使用,不能被任何形式的类对象或子类成员使用。 成员数据的种类:a、static:静态变量编程应用:它是类的变量(该类的各个对象共享某一相同的属性量的值,如中国人的肤色例);它也可以为一个static对象成员。static myobject obj=new myobject( );使用规则:利用“类名.成员名”来访问它。class chinese/通过本例可以区分实例成员与类成员的使用不同string chinesename;/实例变量 private static color chineseskincolor=color.yellow;/类变量区分类方法与实例方法的使用不同public chinese(string name)chinesename=name;public static color getchineseskincolor()/类方法 return chineseskincolor;/在类方法中只能访问类变量 public string getchinesename()/实例方法system.out.println(chineseskincolor.tostring()/访问类变量return chinesename;/访问实例变量b、final:java中的常量定义,必须有初值定义(一般将final常量设计为static型,各个对象共享它,同时也节省内存空间)。 class circle public static final double pi=3.1415926; 、类中的成员函数定义的一般格式访问控制函数的种类返回值类型函数名(形参定义) 函数体;要点fjava中的函数的两种调用形式: 传值拷贝调用与传地址的引用调用的不同 !请您正确地区分java中的传值拷贝和传地址引用调用与c+中不同 传值拷贝调用:形参为基本类型的数据定义时,系统将采用该方式调用它;void add(int x,int y ) 传地址的引用调用:形参为复合数据(数组、类、接口)类型定义时。void add(object objone,object objtwo)/在函数体内可以通过改变形参,从而达到改变实参之目的;成员函数的访问控制选项:其使用规则类同于成员数据的访问控制选项。 成员函数的种类a、 static成员函数:当成员函数操作private static 成员数据时,该成员函数应设计为public static成员函数,以便在类外能访问它(参见前面的class chinese中的 getchineseskincolor()函数)。要点f区分实例方法与类方法在编程上的不同。(1)实例方法可以对当前对象的实例变量进行操作,也可以对类变量进行操作,但类方法不能对当前对象的实例变量进行操作;(2)实例方法必须由实例对象来调用,而类方法即可以由实例对象来调用,也可以由类名来调用。(3)在实例方法中可以使用 this和super,而在类方法中不能使用 this和super。实例演示如下:chinese mrzhang=new chinese(“zhang ming”);mrzhang.getchinesename();/实例方法必须由实例对象来调用mrzhang.getchinesecolor();/类方法即可以由实例对象来调用chinese. getchinesecolor();/也可以由类名来调用b、final成员函数:在派生类中不能重写基类中的final成员函数(防止子类对父类中的关键性方法的错误地重定义)。class net public final void tcp/ip()class derived extends basepublic void tcp/ip()/错误,在派生类中不能重写基类中的final成员函数。c、abstract成员函数:类中只有函数原型定义而无具体的函数定义体的成员函数。一般用于对问题的初始描述与功能要求的定义。abstract class myabstratorclasspublic abstract void myfun(); /功能要求的定义class myderivedclass extends myabstratorclasspublic void myfun(); /实现抽象基类中的具体功能要求要点f此时该myabstratorclass类也应定义为abstract 类;其内的abstract成员函数由派生类myderivedclass来具体实现。下一讲的预习要点:特殊成员函数,this、super的用法,继承与派生等。第二讲:java 语言及面向对象程序设计(2) 本讲的知识要点:特殊成员函数、this、super的用法、继承与派生的编程。java中的接口、java中的包、类中的各种成员的定义语法。2.1 类体中的特殊成员函数2.1.1构造函数:与类名同名并且无任何返回值类型定义的public型成员函数。class rectangle public rectangle() /在类体内定义出重载形式的构造函数 public rectangle(int x,int y,int w,int h) 作用:实现对象在实例化时的初始化(将其成员数据赋初值)。rectangle recta=new rectangle(); /对象在实例化时未初始化其属性rectangle recta=new rectangle(10,10,200,200); /对象在实例化时初始化其属性 构造函数的可能形式:类中未定义出构造函数时,此时系统中会生成一个缺省形式的构造函数(函数体为空),对象在实例化时将不能进行初始化;重载形式(定义出多个同名的构造函数时),从而可以在对象实例化时以多种方式初始化它。2.1.2 终结函数:在类体中以如下方式定义出的成员函数。class myclass protected void finalize() throw throwable/本类的清理任务;super.finalize(); /然后应调用父类中的finalize()以清除从父类中继承来的资源其作用:实现对象在被清除之前还希望完成某种功能,可将该功能的代码放在终结函数中,运行系统会在对象被清除时自动地调用它。实例 import java.io.*;public class openafile fileinputstream myfile=null;public openafile(string filename) /在构造函数体内打开指定的文件 try myfile=new fileinputstream(c:mydirmyfile.dat); catch(filenotfoundexception e) protected void finalize() throws throwable if(myfile !=null) /在openafile对象被删除时也应该将文件对象删除 myfile.close(); /在对象被回收之前应该关闭所打开的文件 myfile=null; /删除文件对象 2.1.3 重载函数:类体中以“同名”而“不同形参定义出”的成员函数。 作用:实现同种功能而不同的功能实现形式(oop中的静态多态性)。 调用规则:系统将根据实参与形参的个数或类型相匹配的关系来决定所调用的函数名。class myclass public void fun(int x,int y) public void fun(float x,float y) public static void main(string arg)int a=1, b=2;float m=1.1, n=1.2;myclass obj=new myclass();obj.fun(a,b);/调用fun(int x,int y)obj.fun(m,n); /调用fun(float x,float y)要点f重载函数只是以函数的形参的不同来判断的而不是以函数的返回值或函数形参名的不同来区分的。注意如下函数不是重载函数定义 !int add(int x,int y) int add(int a,int b)void add(int x,int y) int add(int x,int y)2.2继承与派生2.3.1 继承与派生 继承:在已有类的基础上快速构造出新类的过程;派生:在构造新类的同时并新增新的特性的过程。 基(父)类:被继承特性的类;派生(子)类:在基类的基础上新创建出的类。 point-rectangle-window -dialog 为什么要继承派生:实体(对象)之间不仅在横向方面具有关联特性,在纵向上也存在继承与派生的特性(遗传与变异);如果编程时能充分利用此特性将可快速地构造出新类。 可行性:由于实体之间具有自然的相互关联性,在组织代码时可利用其关联性来组织程序。 目的:对现有系统或程序加以重用,并且还能扩充和完善现有系统。 派生类的定义 类的种类class 派生类名 extends 基类名 成员定义; 子类中如何进行继承与派生父类(可以采用简单的比较法):比较基类和派生类之间的相同与不同点,对相同点则加以继承(不必重定义出);而对差异部分则加以定义出。常用的手段:1、继承基类中的原始成员(当派生类中未定义出该成员时将自动采用继承)。2、覆盖(替换)父类中的成员函数:当父类中的某些成员函数不再适合子类的需要时,在子类中应重写出自己的成员函数。3、扩充增强子类功能:当子类要求具有新的功能时,应添加出该功能(新添新的成员)class point private int x,y; public void move(int newx,int newy) /移动点 public int getx()/返回点的x、y坐标值 public int gety() class circle extends point private int r; public void move(int newx,int newy) /覆盖父类中的成员函数 public int getr() /扩充增强子类功能 2.3.2 继承与派生时的多态性 静态多态性(编译时的特性),java中的静态多态性实现手段-重载函数。其调用规则是依据对象在定义时的类型相应地调用对应类中的重载函数 动态多态性(运行时的特性),java中的动态多态性实现手段-覆盖(替换)基类中的同名成员函数(函数原型一致)。其调用规则是依据对象在实例化时而非定义时的类型相应地调用对应类中的同名成员函数。 父类与子类对象编程规则(赋值兼容原则):子类的对象可当着父类的对象来使用。应用实例:1 class base2 public void fun()3 system.out.println(base class fun();4 5 public void fun(int x)6 system.out.println(base class fun(int x);7 89 public class derived extends base 10 public void fun(int x,int y) /重载基类中的同名成员函数11 system.out.println(derived class fun(int x,int y);1213 public void fun()/覆盖(替换)基类中的同名成员函数14 system.out.println(derived class fun();1516 public static void main(string args) 17base obj=new base();18obj.fun(); /调用基类中的fun()(动态多态性)19/obj.fun(1,2);错误(因为对fun()的调用采用动态多态)20obj=new derived();21obj.fun(); /调用派生类中的fun()(动态多态性)22obj.fun(1); /调用基类中的fun(int x) (静态多态性)23/obj.fun(1,2);错误24derived objd=new derived();25objd.fun(1,2); /调用派生类中的fun(int x,int y) (静态多态性)26objd.fun(); /调用派生类中的fun()27objd.fun(1); /因派生类中未定义出,则调用从基类中继承类来的28292.3.3 继承与派生时的方法重写权限要求:重写的方法的访问权限不能有比基类更严格的访问权限和定义出更多的例外。class base public void fun() throws ioexceptionclass derived extends base/错误! 重写的方法的访问权限不能有比基类更严格的访问权限和更多的例外定义 private void fun() throws ioexception,interruptedexception2.3.4 对象的类型识别:利用instanceof可以识别出对象所属的类型,从而依据不同类型的对象产生不同的行为。public void fun(base obj) if(obj instanceof base) else if(obj instanceof deriveda) else if(obj instanceof derivedb) 2.3 类体中的this、super的用法 super(参数) 调用基类中的某一个构造函数(应该为构造函数中的第一条语句); this(参数)调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句); super:它引用当前对象的直接父类的对象(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时) this:它代表当前对象名。其主要的用途:在程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this来指明成员变量名class pointclass circle extends point private int x,y; private int radius; public point(int x,int y) public circle(int x0,int y0, int r ) this.x=x; /当前对象super(x0,y0); /基类的构造函数 this.y=y;radius=r; public void draw() public void draw() super.draw(); /父类的对象drawcircle(); public point() this(0,0); /本类中另一种形成的构造函数2.4 java中的接口2.4.1含义:一组只有成员函数原型定义而无成员函数定义体的方法集。接口定义了一组成员函数,但没有具体加以实现,其实现则是由实现该接口的类来加以具体完成的。2.4. 作用:为若干个类(相关或无关的类)定义一组相同的功能行为,从而达到相同的功能名称,不同的功能实现之目的;另外也可以实现类似c+语言中的多重继承但又避免了虚基类的编程。2.4. 接口定义格式(类似于类的定义格式,只是以 interface作为定义符):接口的类型interface接口名 接口中的成员变量定义; 接口中的成员方法原型定义; 接口的类型 inerface 派生方式的接口名externd父接口名列表 接口中的成员变量定义; 接口中的成员方法原型定义; 2.4.4 接口的编程: 接口的类型:可以为public(可被任何包
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 63522-16:2025 EN-FR Electrical relays - Tests and measurements - Part 16: Soldering
- 2025年小学英语教学能力考试试卷及答案
- 2025年社会调查方法与实践考试试题及答案
- 2025年传感器技术基础测试题及答案
- 七级数学实数测试题及答案
- 《利率》试题及答案
- 门票代销合同协议书范本
- 市场营销案例评析(王天春)销售营销经管营销专业资料
- 2025年橡塑改性弹性体合作协议书
- 稽留流产护理
- 模具维护保养记录表
- 260吨汽车吊地基承载力验算
- 湖北省武汉市汉阳区2023~2023学年第二学期四年级英语期末调研测试试题(PDF版含答案及听力原文无音频)
- CPK计算模板(双边)
- 高中语文第4单元家乡文化生活4.3参与家乡文化建设课时作业部编版必修上册
- 小学思政课《爱国主义教育》
- 诚信教育主题班会
- 《企业风险管理-战略与绩效整合》执行摘要(2017-中文版)【2022-雷泽佳译】
- 氯磺化聚乙烯生产工艺技术
- 桐庐县2023年三下数学期末综合测试试题含解析
- 装饰施工阶段安全检查表完整
评论
0/150
提交评论