




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向过程的程序设计方法:采用自顶向下的功能分解法,即一个要解决的问题被分解成若干个子问题,每个子问题又被划分成若干个子子问题。面向对象的程序设计方法(OOP):程序的模块单位为类。首先,将数据和对数据的操作行为放在一起,作为一个相互依存不可分割的整体对象,然后,对相同类型的对象进行分类,抽象后,得出共同的特征而形成类,类通过一个简单的外部接口与其他类发生联系。对象的引用:Java中具有类类型的变量叫做对象的引用。(Person p1 = new Person(); p1就是我们生成的对象的引用)面向对象方法的特性:封装,抽象,继承,多态。继承:继承是在已有的父类的基础上派生出新的类(子类),新的类能够吸收已有类的属性和行为,并扩展新的能力,用extends 关键字实现。封装:就是把对象的属性和操作结合为一个独立的整体,并且尽可能的隐藏对象内部实现的细节。多态:是指在父类中定义的属性和方法,在被子类继承之后,可以具有不同的数据类型和表现出不同的行为,父类的引用可以子类的对象。类:是对具有相同属性和方法的一类事物的抽象,对象,这是抽象事物的具体化.java语言的特点:简单性,面向对象,平台无关,可移植性,解释性,高性能,动态性,可靠性和安全性,多线程,分布式处理。java的基本数据类型:int,byte,short ,long ,double,float,boolean,char (String不是基本数据类型) byte 的范围 -128127标识符:是程序员声明的单词,用来为程序中类,变量,方法等实体命名。以下划线(_)或者字母或者美元符($)开头;可有由大小写字母,下划线,美元符,09数字组成;不能是java关键字;区分大小写。常量:在程序运行过程中始终不变的值。变量:在程序运行过程中,改变的值变量的初始化:初始化就是把变量赋为默认值流程控制:顺序结构,选择结构(if,switch),循环结构(while ,for,dowhile)跳转语句:break:直接跳出循环,不执行循环,continue :跳出当前条件下的循环,执行下一次循环。方法:对象的行为在java中用方法来实现,一个方法往往完成一个具体的功能方法参数的传递:按值传递和按引用传递,前者不会影响实参的值,后者影响实参的值方法的重载:在一个类中定义了多个同名的方法,但是要求各个方法具有不同的参数类型或者参数个数或者参数的顺序不一样参数的作用域:定义在方法中参数,其作用域在在定义其的方法内,定义在类中的参数,其作用域在整个类中。数组:一组相同数据类型的元素按照一个顶的顺序线性排列就组成了数组。数组的特点:数组是相同数据类型元素的集合数组中的各个元素是有先后顺序的,它们在内存中是按照这个顺序排放的 数组中的元素用数组的名称和元素在数组中的位置表达(位置叫做下标,下标的第一个元素从0开始)使用数组的4步骤:声明数组、分配空间、赋值、数据处理。声明一维数组:数组元素类型 ,数组创建后,其长度不可以改变声明二维数组: 数组元素类型 二维数组是数组的数组java程序的构成:包声明语句,导入包语句, 类声明语句域:一个类的数据类型由它的成员变量进行定义,构造方法:用于为类新建的对象分配内存空间和进行变量的初始化。构造方法的名称必须和类名一致,构造方法只能在创建对象时用new 命令调用,并且没有返回值类型访问修饰符:public 可以被所有的类方法,protected 可以在同一个包中或者子类中访问, package (默认值)可以在同一个包中被访问,private 不能被任何其他类访问this关键字:被调用的方法的当前对象的引用,仅仅能出现在类的方法体中。static :用static 关键字声明的变量或者方法表示类的所有实例共享这个变量或者方法。在静态方法中调用的变量只能是静态的。实例变量和类变量的区别:实例变量时每个对象生成的时候都有对象自己的实例变量,对象对自己实例变量的操作不会影响其他对象中的实例变量,类变量 则是所有的对象共享这个变量,任何对象对这个类变量的操作都影响到它的值。类的组合:指类之间有一种has a 关系,类中的成员变量可以是其他类的引用。包:是相关类和接口的集合,组织系统类的单位。创建包:创建包的语句必须是整个java文件的第一条语句,语法为 package 包名导入包:当我们需要使用其他包下面的类时,需要我们导入包下面的类,语法为 import 包名.类名构造方法的特点:继承是类之间的一种 is a关系,继承分为多继承和单继承,java是单继承的,但是通过实现接口可以实现多继承。Java中每个类都直接或者间接继承Object方法的重写:子类中定义的某个方法与父类中定义的某个方法有相同的方法头,则称子类重定义了或者重写了父类的方法。构造方法的继承:子类会继承父类的非private 的构造方法,并且在子类生成对象的时候,会先调用父类的构造方法。finalize方法:与继承中构造方法的调用相反,会先调用子类的finalize方法再调用父类的。抽象类:使用了abstract关键字修饰的类叫做抽象类.。抽象类不能生成对象,而具体的类可以生成对象(具体类和抽象类的区别)抽象方法:使用abstract关键字修饰的方法,叫做抽象方法.并且是有声明无实现(没有方法体,即没有整个花括号),抽象方法一定是定义在抽象类或者接口中,但是静态方法不能是抽象方法。(声明语句 访问修饰符 abstract 返回值类型 方法名( 形参列表)在子类继承父类(父类为抽象类)的情况下,那么该子类必须要实现(覆写,增加方法体)父类中所定义的所有的抽象方法,;否则该子类需要声明成为一个抽象类.Final关键字:可以修饰属性,方法,类:修饰类:当一个类被final修饰时,表示该类是一个终类,即该类不能被继承。修饰方法:当一个方法被final修饰的时候表示该方法是一个终态方法,即该方法不能被重写(override)。修饰属性:表示该属性是一个常量,即不能被改写。(修饰引用类型的时候,则该引用指向的对象不能改变,即不能再指向其他对象。但是引用指向的对象的属性是可以改变的)使用final修饰的时候必须显式的赋予初始值。一般有两种方法来赋予初始值:在声明变量的时候就赋值,声明的时候不赋值,但是在类的所有的构造方法中都要赋值。接口:用于声明一组类的公共功能,借口由若干常量和若干抽象方法组成,接口中不能包括变量和具体方法 (声明语句 : 访问修饰符 interface 接口名 )接口和抽象类的区别:接口中不能实现任何方法,但是抽象类中可以;一个类可以实现多个接口,但是只能继承一个抽象类,类实现接口用implements关键声明。嵌套在其他类内部的类:为内部类。内部类多用于事件处理。Java中所有类的根类:是Object类。在java.lang包中,这个包由系统默认导入StringTokenizer类:可以将字符串分解为组成它的语言符号。JDBC :为java定义了一个调用级的SQL接口,通过这个接口可以执行任何SQL语句,并且得到访问结果。JDBC存取数据库的步骤:加载适当的JDBC驱动程序;建立于数据库的连接;建立于执行SQL语句;处理结果集;关闭数据库连接。Java程序中的基本包: Java.io 所有输入输出的类 Java.util 工具类包,日期,数学公式都在里面 Java.awt 和 javax.swing 处理图形界面的包(第九章,需要注意这两个包的导入导入语句 import java.awt.*; import javax.swing.*;) J 网络工具包 Java.sql 连接数据库,JDBC编程要导入的包 Java.lang 基本的语言包,建立java程序的时候默认导入。 冒泡排序算法:import java.awt.*;import javax.swing.*;public class BubbleSort public static void main( String args ) int array = 12, 6, 4, -8, 10, 11, 89, 68, 45, 37 ; System.out.println (排序前: ); for ( int counter = 0; counter = array.length-1; counter+ ) System.out.print(array counter + ); System.out.println (); bubbleSort(array); System.out.println(n排序后: ); for ( int counter = 0; counter array.length; counter+ ) System.out.print(array counter + ); System.out.println (); static public void bubbleSort( int array2 ) for ( int pass = 1; pass = array2.length-1; pass+ ) for ( int element = 0;element array2 element + 1 ) int hold = array2 element ; array2 element = array2element + 1 ; array2 element + 1 = hold; 2 Java源程序代码由三个要素组成:(1)一个包声明(package statement,可选);(2)任意数量导入语句(import statements, 可选);(3)任意数量的类定义和接口定义。3用于改变程序控制流:break语句、continue语句、return4实参表如何传递给形参表? (1) 按值传递:当方法的形参为简单数据类型时:则将实参的值传递给形参。这种传递不会因为调用方法中对形参值的改变而影响实参的值。 (2) 按引用传递:当方法的形参为复合数据类型(如类、数组名、接口)时,则对形参的任何访问等同于对实参的访问,即形参被认为是实参的别名。 5变量声明的作用域(1)参数声明的作用域是声明方法所在的方法体;(2)局部变量在方法或方法中的一块代码中声明,它的作用域为它所在的代码块(整个方法或方法中的某块代码);(3)在带标号的break和continue语句中,标号的作用域是带标号结构范围的语句(即带标号语句的主体);(4)出现在for结构头初始话部分的局部变量,其作用域是for结构体和结构体头中的其它表达式;(5)catch语句中的异常处理参数将传递给异常处理代码块,它的作用域就是Catch的异常处理块。(6)类中的方法和域(数据成员),它们的作用域是整个类。这种作用域使一个类的方法可以用简单的名称调用类中声明的其它方法以及该类继承的方法,并使之能直接访问在该类中声明的域 6数组特点:(1) 数组是相同数据类型的元素的集合。(2) 数组中的各元素是有先后顺序的。它们在内存中按照这个顺序连续存放在一起。(3) 每个数组元素用整个数组的名字和它自己在数组中的位置表达(此位置被叫做下标或索引)。数组对象一旦创建之后,在程序整个执行期间,就不能再改变数组元素的个数。8继承分为单继承和多继承。单继承是指一个子类最多只能有一个父类。多继承是一个子类可有二个以上的父类。由于多继承会带来二义性,在实际应用中应尽量使用单继承。Java类只支持单继承,而接口支持多继承。9 关于超类1)超类public的成员可以在超类中使用,也可以在子类使用,程序可以在任何地方访问public超类成员。2)超类的private成员仅在超类中使用,在子类中不能被访问。3)超类protected成员,可在子类和同一包内其他类被访问。4)超类package成员,可在同一包内其他类被访问。子类从超类中继承成员时,超类的所有public和protected成员在子类中,都保持它们原有的访问修饰符。10继承下的构造函数的调用次序:子类对象的实例化过程开始于一系列的构造函数调用,子类构造函数在执行自己的任务之前,将显式地(通过super引用)或隐式地(调用超类的默认构造函数或无参数构造函数)调用其直接超类的构造函数。类似地,如果超类派生于另一个类,则要求超类的构造函数调用层次结构中上一级类的构造函数,依此类推。在调用请求中,最先调用的构造函数总是Object类的构造函数。最后才会执行原有的子类构造函数。11抽象类:每个抽象类中至少包含一个抽象方法。抽象类只能作为继承层次结构中的超类,所以这些类称为抽象超类。不能实例化抽象类的对象。抽象类的目的是提供一个合适的超类,以派生其他类。具体类:用于实例化对象的类。这种类实现它们声明的所有方法。抽象超类是一般类,它们仅仅指定子类的共同点,并不创建出真实的对象。12在声明和使用嵌套类时,应该注意以下事项:(1)包含嵌套类的类在编译时,将为每个类产生单独的.class文件。嵌套类文件名为OuterClassName$InnerClassName.class。匿名内部类的文件名为OuterClassName$#.class,#从1开始,编译时,每遇到一个匿名内部类,#递增1。(2)带有名称的内部类可以声明为public、protected、包访问或private,并且它们的使用限制与其他类成员相同。(3)内部类能以OuterClassName.this的形式访问其外部类的this引用。(4)外部类负责创建内部类的对象。为创建另一个类的内部类对象,首先创建该外部类的一个对象,并将该对象的引用赋给外部类类型的变量(我们假设它是outref)。然后使用如下形式创建内部类的对象:OuterClassName.InnerClassName innerRef=outref.new InnerClassName();(5)静态嵌套类不需创建外部类的对象,静态嵌套类不能访问外部类的非静态成员。13 StringBuffer类的插入和删除方法使用1)StringBuffer类提供10个重载的insert方法,以允许在StringBuffer对象的任何位置插入各种类型的值。这些方法可以处理各种数据类型、字符数组、String对象和Object对象。2)每个insert方法都能将它的第二个参数转换为一个字符串,并将该字符串插入到第一个参数所指定的索引的前面。3)StringBuffer类还提供delete和deleteCharAt方法,用于删除StringBuffer对象的任何位置上的字符。14 Vector(向量)类似于一个数组,但与数组相比在使用上有以下两个优点:(1)使用的时候无需声明上限,随着元素的增加,Vector的长度会自动增加。(2)Vector提供额外的方法来增加、删除元素,比数组操作高效。15 Compoment类提供的功能:1)基本的绘画支持。方法repaint()、paint()、update()等用来在屏幕上绘制组件.2)外形控制。包括字体、颜色等。相应的方法有:getFont()、setFont()、setBackground()、SetForeground()等3)大小和位置控制。方法有:setSize()、setLocation()等。图像处理。类Component实现了接口ImageObserver,其中的方法imageUpdate()用来进行图像跟踪。4)组件的状态控制。例如:setEnable()控制组件是否接收用户的输入,isEnable(),isVisible()、isValid()返回组件的16 Swing 组件在javax.swing包中。其特点: (1) Swing组件是用100纯Java代码实现的轻量级(light-weight)组件。没有本地代码,不依赖操作系统的支持,这是它与重量级组件AWT的最大区别。Swing比AWT组件具有更强的实用性和美观性。(2)Swing组件的多样化。 Swing是AWT的扩展, Swing组件以“J”开头。有与AWT类似的按钮(JButton)、标签(JLabel)、复选框(JCheckBox)、菜单(JMenu)等基本组件外,增加了一个丰富的高层组件集合,如表格(JTable)、树(JTree)。大多数Swing组件从JComponent类继承。JComponent是一个抽象类,它定义所有子类组件的一般方法,如:使用setBorder()方法:设置组件外围的边框;使用setTooltipText()方法:为组件设置对用户有帮助的提示信息。 17 Java的事件处理模型由三部分组成:1)事件源(Event source):是用户交互的各种GUI组件。2)事件对象(Event object):封装了发生事件的有关信息。3)事件监听器(Event listener):当事件发生时被通知到接受事件的事件监听对象,然后调用事件监听对象中对应的方法响应该事件。18当需要对组件的某种事件进行响应和处理时,程序员必须完成两个步骤:1)为组件注册实现规定接口的事件监听器; 2)实现事件监听器接口中声明的事件处理抽象方法。例如, button组件的事件响应过程:19 Java应用程序通过JDBC存取数据库时应该遵循五个步骤: 1)加载(注册)适当的JDBC驱动程序;2)建立数据库连接;3)建立与执行SQL语句;4)处理结果集;5)关闭数据库连接20 实现多态的条件:继承、抽象方法、引用21 JDBC驱动程序类型1)JDBC-ODBC bridge plus ODBC driver(类型1):JDBC-ODBC桥接驱动程序。其底层通过ODBC(Open databas Connectivity)驱动程序来连接数据库。2) Native-API partly-Java driver(类型2):本地 API - 部份用 Java 来编写的驱动程序。此种方式先将JDBC函数调用转换成数据库客户端函数库的API(位于客户端计算机),然后与数据库相连。3)JDBC-Net pure Java driver(类型3):JDBC 网络纯 Java 驱动程序。首先JDBC驱动程序会将JDBC函数调用解释成与数据库无关的网络通信协议,经过中介服务器的第二次解析,最后才转换成相对应的数据库通信协议. 4)Native-protocol pure Java driver(类型4)本地协议纯 Java驱动程序。这种驱动程序将 JDBC 调用直接转换为 DBMS 所使用的网络协议。22 SQL SERVER 2000 组件企业管理器(Enterprise Manager)查询分析器(Query Analyzer)23建立新数据库连接以后,必须先建立一个Statement对象才能执行SQL语句。在Java中,定义了三种类型的Statememt,它们是Statement、PreparedStatement和CallableStatement。24建立Statement对象或PreparedStatement对象或CallableStatement之后,有3种方法执行SQL语句:1) executeQuery(): 执行select的SQL查询语句2) executeUpdate():执行insert、delete、update 更新语句,以及DDL语句。3)execute():执行SQL查询语句。25 Java应用程序访问数据库主要是通过JDBC API实现的,通过下面几个重要接口和类: DriverManager类;Connection接口;Statement接口; PreparedStatement接口; CallableStatement接口; ResultSet接口;ResultSetMetaData接口; DatabaseMetaData接口;Java的基本数据类型和SQL中支持的数据类型对应关系。Jlable,JTextField.JPasswordField和JTextArea的应用第九章:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class LabelandTextTest extends JFrame private JTextField textField1, textField2,textField3; private JTextArea textArea1,textArea2; private JPasswordField passwordField; private JButton copyButton; public LabelandTextTest() super( JTextField,JPasswordField 和JTextArea的使用 ); Container container = getContentPane(); container.setLayout( new FlowLayout() ); JLabel label1 = new JLabel( 用户名: ); container.add( label1 ); textField1 = new JTextField( 10 ); container.add( textField1 ); container.add( new JLabel( 口令: ); passwordField = new JPasswordField( 10 ); container.add( passwordField ); Icon bug = new ImageIcon( czims.jpg ); JLabel label2 = new JLabel( 照片: , bug, SwingConstants.LEFT ); label2.setHorizontalTextPosition( SwingConstants.CENTER ); label2.setVerticalTextPosition( SwingConstants.BOTTOM ); container.add( label2 ); textField3 = new JTextField( 显示用户名或口令, 30 ); textField3.setEditable( false ); container.add( textField3 ); TextFieldHandler handler = new TextFieldHandler(); textField1.addActionListener( handler ); passwordField.addActionListener( handler ); Box box = Box.createHorizontalBox();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拆装维修合同范本2016
- 吊装协议合同范本
- 买商铺 合伙 合同范本
- 店面转让合同范本
- 舞蹈创作编排合同范本
- 露营租赁转让合同范本
- 法国住宿证明合同范本
- 水电代缴合同范本
- 投资代理项目合同范本
- 简单进口贸易合同范本
- 2025至2030年中国电热毛巾架行业市场发展现状及投资战略咨询报告
- 2025至2030年中国泥炭行业市场深度分析及投资战略咨询报告
- 2025年新高考全国一卷地理试题及答案解析
- 2025年吉林银行招聘考试(综合知识)历年参考题库含答案详解(5套)
- 入职合同里的保密协议竞业协议
- 出租充电桩车位合同范本
- 人工晶体创新创业项目商业计划书
- 2025年长沙市中考数学真题(含答案)
- 开放性骨折感染预防的护理
- 浙江宁波江北区重点达标名校2026届中考三模语文试题含解析
- PC构件吊装专项施工方案(修改1)
评论
0/150
提交评论