




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计课程学习总结 (2012)学习java须知与必备知识java面向对象(OOP)(类与对象,继承抽象类与接口)java程序的数组与字符串java程序的流技术以及异常处理java语言高级部分Java窗体应用程序(一)java须知与必备知识:1.java语言与C语言有许多相似点,但又有很大的区别。Java源程序主要有5部分组成:package语句(用来定义程序所属的包,放在程序的最前面,可省略)、import语句(用来引入其它包中的类,放在类定义之前)、类(class是定义类的关键字,类是整个源程序的核心部分)、方法(每个java程序只允许有一个main()主方法)、语句(语句有复值语句、调用方法语句和对象定义语句等,每条语句占一行,以分号结束)字节码程序(.class文件)Java解释器Java编译器系统执行平台字节码程序(.class文件)Java源程序(.java文件) 2. 标识符、注释与C语言相同。3.(1)String类的构造方法:构造方法说明String()它将创建一个空字符串String(String value)它将新建一个字符串作为指定字符串的副本String (char value)它将根据字符数组构造一个新字符串String(byte value)它将通过转换指定的字节数组新建一个字符串(2)提取字符串:方法说明public char charAt(int index) 此方法用于从指定位置提取单个字符,该位置由索引指定,索引中的值必须为非负public String substring(int index) 此方法用于提取从位置索引开始的字符串部分public String substring(int beginindex, int endindex) 此方法用于提取 beginindex 和 endindex 位置之间的字符串部分public String concat(String str) 此方法用于连接两个字符串,并新建一个包含调用字符串的字符串对象public String replace(char old, char new) 此方法用于将调用字符串中出现某个字符的所有位置都替换为另一个字符public String trim() 此方法用于返回一个前后不含任何空格的调用字符串的副本(3)字符串转换成数值型数据的方法:方法说明Byte.parseByte()将字符串转换为字节型数据Short.parseShort()将字符串转换为短整型数据 Integer.parseInt()将字符串转换为整型数据Long.parseFloat()将字符串转换为长整型数据Float.parseFloat()将字符串转换为单精度浮点型数据Double.parseDouble()将字符串转换为双精度浮点型数据4.注意代码书写的规范性和速度性:类名首字母大写,变量、main()主方法语句和方法及对象的首字母小写。但在C#中Main()主方法都是大写的5.掌握循环语句结构。(二)java面向对象(OOP)(类与对象,继承抽象类与接口)1. OOP的三大特性:在OOP中,现实世界的所有事物都成为对象。(1)封装:将对象的数据和方法结合,由方法将对象的数据实现,并实现对象的数据隐藏。(2)继承:子类继承父类的变量和方法,实现代码的重用。具有传递性。(3)多态:对外一个接口,内部多种实现。使程序具有可扩展性,可维护性。2.类:是对某一类事物的描述,是抽象的、概念上的定义;对象:是对类的具体实现,可以说是个实例。在使用类之前必须先定义再声明并创建对象。3.类与对象的定义:类的修饰符class类名extends 父类implements 接口类的头部成员变量的声明成员方法的声明类名 对象名;/声明对象对象名=new 类名();/创建对象对象名.成员变量名;/访问对象的成员变量对象名.成员方法名();/访问对象的成员方法(1)类体:包括类成员变量的声明、构造方法和成员方法的声明与定义。(2)类的封装:可以通过Public、protected、private和默认的访问权限来定义。(3)方法重载:允许在一个类的定义中,多个方法使用相同的方法名称,但是不同的参数。方法的重载也是实现多态性的一种形式。this.(该类自己)。(4)构造方法:一般情况默认为不带参数,并且方法体为空。但有其它构造方法时必须在类中先声明。构造方法很特殊:名称必须与类名相同,且不能有返回值,更不能直接调用该方法,必须通过new来调用它。(5)对象的创建:声明变量,实例化,通过new。(6)对象的使用:引用对象的变量,调用对象的方法。(7)类的继承:java类的继承是单继承,不能有多继承。通过extends来实现继承。被继承的类叫父类,继承父类的类叫子类。创建子类的格式:class 子类名 extends 父类名 (8)extends关键字:定义的类中指出父类,默认的父类都是object类。(9)super关键字:指向它所在类的父类。用来引用父类中的成员方法或成员变量。调用父类中的方法。Super()表示调用父类的构造方法,和this一样必须放在第一行,this()用于调用本类的构造方法。如果没有定义构造方法,就会调用父类的无参构造方法,即super()(10)子类对象的创建与实例化步骤:分配对象所需的空间、继承并初始化、继承并调用构造方法。(11)方法重写:子类中父类成员的隐藏,当变量名相同时,子类成员的变量会隐藏父类成员变量。当子类的方法与父类具有相同的名字、参数、类型的返回值时,子类重写了父类的方法,父类中的方法被隐藏起来。子类可以改写父类所实现的功能,但子类中重写的方法必须与父类的方法有一样的返回值、方法名、以及参数。注意的是重写时访问修饰符不能变小,即访问权限不能缩小,可以扩大或与其相等。(12)多态:指的是一个对象的行为方式可以在子类中使用,子类的对象继承了父类的对象,是从一个父类派生的许多子类都可以有相同的类型,将一种子类对象引用转换成父类对象的引用。父类对象的调用可以在子类对象中实现。(13)接口:java中的接口是一种特殊的抽象类,是若干完成某一特定功能的没有方法体的方法(抽象方法)和常量的集合(14)接口与抽象类以及继承的区别:A:接口中不能有非抽象方法,但抽象类中可以有。B:一个类能实现多个接口,但只能有一个父类。C:接口并不属于继承结构,它实际与继承无关,所以无关的类也可以实现同一个接口。D:抽象类:包含了抽象方法的类叫抽象类。如果一个类中包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。抽象类的定义:abstract 类名声明成员变量 ;返回值类型 方法名参数;abstract 返回值类型 方法名(参数);E:接口(interface)它可以创建一个类:方法名、自变量以及返回值类型,不规定方法体。一个接口中所有方法为公开、抽象的方法,所有的属性都是公开、静态、常量。类必须实现接口,否则变成了一个抽象类了。接口与接口之间可以定义继承关系,并且接口间运行实现多继承。接口的定义:publicinterface 接口名extends 父接口列表publicstaticfinal 数据类型 成员变量名=常量;publicabstract返回值的数据类型 方法名(参数);F:创建接口应使用interface关键字,不要用class,可以在interface关键字前加上public关键字(只有接口定义在同一个名的文件内才行),或者用friendly“友好类”。G:implements(实现)关键字可以生产与一个特定的接口(或一组接口)相符的类。注意的是:在java中不能实现多重继承但可以同时实现很多个接口。Java接口中定义的方法在不同的地方被实现,可以具有完全不同的行为。(15)static关键字:用static声明的成员变量为静态成员变量,是该类的公用变量。用static声明的方法为静态方法,调用时可以通过对象引用或类名(不用实例化)访问静态成员。(16)常量:是一种标示符,值是不变的,在成序中只能被引用,不能被重新赋值,加入final关键字代表常量,加入static关键字代表类变量。(17)覆盖(overriding)也是java语言多态的技巧之一。方法的覆盖(也叫方法的重写)应注意的是:A:子类中不能覆盖父类中的final或static成员。B:类的继承具有传递性,即子类继承父类的所有非私有成员,也继承父类的父类直至祖先所有的非私有成员。覆盖不适用于静态方法。覆盖方法是从低向高转:Byte-short-int-double(18)面向对象三大特性总结:OOP基本特征定义具体实现方法优势封装隐藏实现细节,对外提供公共的访问接口。属性私有化、添加共有的setter、getter方法。增强代码的可维护性。继承从一个已有的类派生出新的类,子类具有父类的一般特性,以及自身特殊的特性。继承需要符合的关系:is-a实现抽象、增强代码的可复用性。多态同一个实现接口,使用不同的实例而执行不同的操作。通过java接口/继承来定义同样的实现接口;通过方法重写为不同的实现类/子类定义不同的操作。增强代码的可扩展性、可维护性。(19)java中关键字final、finally、finalize的各自用法: final修饰符(关键字)如果一个类被声明为final,意味着他不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,能确保他们在使用中不被改动。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。(final可以修饰类、属性、方法)。Public final void print()这样的方法为一个不可覆盖的方法。如果在父类中有final定义的方法,则在子类中继承同一个方法。(final并不涉及继承) finally在异常处理时提供finally块来执行所有清除操作。如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)。 finalize方法名。Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。他是在Object类中定义的,因此所有的类都继承了他。子类覆盖finalize()方法以整理系统资源或执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。(三)java程序的数组与字符串1.数组:(1) 数组:是数据类型相同、变量数目一定的有序集合,数组是一种复合数据类型。(2) 使用数组四步走:A:声明数组:eg :int a; B:分配空间: eg: a=new int6; C:f赋值: eg: a0=7; D:处理数据: eg:a0=a0*10;(3) Java中的数组下标同C语言一样为:下标不能越界,最大下标是长度减去1,但在C语言中下标越界时程序不能编译成功。而在 java中下标越界程序编译能通过,在运行时则会出现程序异常!这是与C语言的不同。(4) Java数组声明:数据元素类型 数组名; 或者 数据元素类型 数组名;这也与C语言的数组声明有所不同!2. 字符串:(1) 在java中字符串是当作对象来处理的,而C/C+是把字符串当作字符数组来处理的。(2) 字符串连接方法:方法一:使用“+”连接;方法二:使用String类的Concatenate()方法。(3) 字符串常用的提取方法:indexOf()从前面查;lastIndexOf()从后面查。(4) 取子串方法:substring(5) 在C#中是取子串长度(串长);而java中是取子串位置;(6) 在C#中大写为Trim()去前后空格;java中为小写trim()去前后空格。(7) trim():返回一个前后不含任何空格的调用字符串的副本。(8) equals(区分大小写):比较字符串里的内容是否一样,和C#中的用法一样。在java中:A: .equalsignoreCase()方法忽略大小写。 .toupperCase():方法;转换成大写字符串。 .toLowerCase()方法:转换成小写字符串。3字符串转换为数值型数据方法用:parse;数值型转换为字符串用“+”号对字符串做连接操作。(1)Eg:把123转换成字符串的方法:方法一: String.valueOf(123):方法二: new Integer(123).toString();方法三: Integer.valueOf(123).toString();方法四: Integer integer=new Integer(123);integer.toString();(2)Eg:把字符串“123”转换为整型:Integer.valueOf(“123”).intvalue();(3)Eg:把字符串“123”和”456转换为整型数据并求和:方法一:Integer.valueOf(“123”).invalue()+Integer.valueOf(“456”).intvalue();方法二:Integer.parseInt(“123”)+Integer.parseInt(“456”);注意:学习字符串应掌握String类和StringBuffer类,各种数据类型之间的相互转换对学习java窗体应用时很有帮助!(四)java程序的流技术以及异常处理:1. java程序为什么需要对程序进行异常处理?当Java程序违反了Java的语义规则时,Java虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况:一种情况是Java类库内置的语义。例如数组下标界,IndexOutOfBoundsException;访问null的对象时会引NullPointerException。另一种情况就是Java允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。2.异常处理:trycatchfinally语句。语句格式:trycatch(*Exception e)/用子类捕获catch(*Exception e)异常发生时的处理语句/用父类捕获 finallyfinally语句跟在trycatch语句后面,无论try代码块中有没有发生异常,finally语句总会被无条件执行。3.如果在当前环境无法解决一个异常程序,就需要将其抛出,抛出异常交给调用者处理:(1)异常抛出:throw(抛出异常)语句、throws(声明异常)语句。(2)在不使用trycatch语句或throws的前提下,只可以抛出运行时异常对象RuntimeException。(3)throw语句和throws语句的语法格式:方法名参数throws异常类1,异常类2if(异常条件1成立)throw new异常类1().4. Error与Exception比较: Error表示系统级的错误和程序不必处理的异常, Exception表示需要捕捉或者需要程序进行处理的异常。5.java流技术(输入输出处理):java流技术包括字节流和字符流。(1)字节流:A:字节流分为输入字节流和输出字节流。B:抽象类java.io.InputStream用于表示所有输入字节流。C:抽象类java.io.OutputStream用于表示所有输出字节流。D:所有的流类对象在使用前必须打开,在使用后必须关闭。E:java.io.InpurStream Class:该抽象类作为所有输入字节流类的基类,声明用于读取字节流数据的通用方法。Public abstra int read(). F:java.io.OutputStream Class:该抽象类作为所有输出字节流类的基类,声明用于输出字节流数据的通用方法:public abstract void write(int b).(2)字符流:A:字符流可分为输入字符流和输出字符流。B:抽象类java.io.Reader用于表示所有输入字符流。C:抽象类java.io.Writer用于表示所有输出字符流。D:java.io.Read Class:该抽象类作为所有输入字符流类的基类,声明用于读取输入字符文本数据的通用方法:public int read()。E:java.io.Write Class:该抽象类作为所有输出字符流类的基类,声明用于输出字符文本数据的通用方法。(3)Reader类与InputStream类的不同点:A:Reader类的子类必须实现抽象方法close方法。B:InputStream类的方法返回未读入的数据的字节数,而Reader类的方法只能返回是否还有可读入的字符数据。(4) java
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南京18年二模数学试卷
- 理科生高考数学试卷
- 期末测试语文和数学试卷
- 2025年学历类自考公共课-计算机应用基础参考题库含答案解析
- 临湘职业中专数学试卷
- 2025年学历类自考专业(电子商务)-电子商务概论参考题库含答案解析
- 2025年学历类自考专业(法律)国际经济法概论-国际经济法概论参考题库含答案解析
- 2025年设计院建筑师招聘面试技巧及预测题
- 乐器批发市场多渠道整合营销案例研究考核试卷
- 2025年新媒体运营实习生面试宝典及模拟题解析
- 闲置设备日常管理制度
- 阿尔兹海默症康复护理
- (2025)全国交管12123学法减分考试题库附答案
- 名人传课件完整版本
- 能源管理体系内审员培训课程
- 运动对大脑功能的促进作用
- 排水防涝设施功能提升施工组织与管理方案
- 高一学生综合素质评价自我评价200字
- 2025届上海市虹口区初三一模英语试卷(含答案和音频)
- 《教育强国建设规划纲要(2024-2035年)》全文
- 2025年中国人寿:养老险总公司招聘笔试参考题库含答案解析
评论
0/150
提交评论