Java基本概念1.面向过程的程序设计:所谓面向过程是指从功能的角度分析问题,将待解决的问题空间分解成若干个功能模块,每个功能模块描述一个操作的具体过程。
结构化程序设计方法就是面向过程的一个典型代表。
2.结构化程序设计方法的核心:自顶向下、逐步求精的开发方法;模块化的组织方式;结构化的语句结构3.结构化程序设计的特点:程序设计=数据结构+算法程序内容=过程+过程调用4.面向对象的程序设计: 面向对象程序设计方法是指用面向对象的方法指导程序设计的整个过程,所谓面向对象是指以对象为中心,分析、设计及构造应用程序的机制。
5.面向对象程序设计的优点:实现对现实世界客体的自然描述;可控制程序的复杂性;可增强程序的模块性;可提高程序的重用性;可改善程序的可维护性.面向对象程序=对象+消息.6.抽象:指从事物中,舍弃个别的、非本质的属性,抽取出共同的、本质的属性的过程,它是形成概念的必要手段。
抽象包括过程抽象和数据抽象。
过程抽象是指功能抽象,即舍弃个别的功能,抽取共同拥有的功能。
数据抽象是一种更高级别的抽象方法,它将现实世界中存在的客体作为抽象单元,其抽象内容既包括客体的属性特征,也包括行为特征,它是面向对象程序设计所采用的核心方法。
模块化和信息隐蔽是数据抽象过程的两个主要概念。
7.封装:封装是指将现实世界中某个客体的属性与行为聚集在一个逻辑单元内部的机制。
利用这种机制可以将属性信息隐藏起来,外界只能够通过提供的特定行为接口改变或获取其属性状态。
在面向对象的程序设计中,封装是指将对象的属性和行为分别用数据结构和方法描述,并将它们绑定在一起形成一个可供访问的基本逻辑单元。
8.对象:对象是用来描述现实世界中客体的部件,是面向对象软件系统在运行时刻的基本单位。
为了区分属于同一个类的不同对象,每个对象都有一个惟一的标识。
对象是具有特殊属性和方法(行为方式、操作)的实体。
是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。
9. 重载:在 Java 语言中,同一个成员方法名在同一个作用域中可以被定义多次,但要求参数表不能完全一样。
调用成员方法时,系统将通过成员方法名和参数确定所调用的具体方法。
这种现象叫做成员方法的重载。
10.类:类是一组具有相同属性特征的对象的抽象描述,是面向对象程序设计的又一个核心概念。
类是对象抽象的结果。
有了类,对象就是类的具体化,是类的实例。
类可以有子类,同样也可以有父类,从而构成类的层次结构。
类之间主要存在三种关系。
它们是:关联、聚合和泛化。
11.消息:消息是一个对象要求另一个对象实施某项操作的请求。
在一条消息中,需要包含消息的接收者和要求接收者执行哪项操作的请求,而并没有说明应该怎样做,具体的操作过程由接收者自行决定。
12.消息传递是对象之间相互联系的惟一途径。
发送者发送消息,接收者通过调用相应的方法响应消息,这个过程被不断地重复,使得应用程序在人的有效控制下运转起来,最终得到相应的结果。
可以说,消息是驱动面向对象程序运转的源泉。
13.继承:继承是类之间的一种常见关系。
这种关系为共享数据和操作提供了一种良好的机制。
通过继承,一个类的定义可以基于另外一个已经存在的类。
继承是面向对象程序设计方法的一个重要标志,利用继承机制可以大大提高程序的可重用性和可扩充性。
14.多态性:不同的类对象收到同一个消息可以产生完全不同的响应效果,这种现象叫做多态。
利用多态机制,用户可以发送一个通用的消息,而实现的细节由接收对象自行决定,这样,同一个消息可能会导致调用不同的方法。
15.面对对象的四个特征:抽象性;封装性;继承性;多态性。
16.数据隐藏:用 private 修饰的数据成员和成员方法只能被类自身的成员方法引用,而不能被任何其他类(包括子类)引用。
应该将不希望他人随意引用或修改的数据成员设置成 private,以此将它们隐藏起来,从而提高程序的安全性和可维护性。
17.java的类定义:类是对具有相同属性和行为的对象特性的描述。
属性是对象的静态部分,行为是对象的动态部分。
其中用类的数据成员表示静态属性,用类的成员方法表示动态行为。
18.类与类之间的关系:☐整体-部分(聚合)用成员变量实现章—节—段—句—词或标点符号☐一般-特殊(泛化)用定义子类实现动画—二维动画、三维动画☐依赖(关联)用成员变量实现课程—教师—学生19. this与super:•this和super常用来指代父类对象和子类对象的关键字。
Java系统默认,每个类都缺省地具有null,this, super三个域。
•null代表“空”,在声明一个对象但尚未为其开辟存储单元时,可以指定这个对象为null。
•this表示的是当前对象本身,或者说是当前对象的一个引用。
通过引用可以顺利地访问到对象,包括访问、修改对象的域、调用对象的方法。
•super表示的是当前对象的直接父类对象,是当前对象的直接父类对象的引用。
直接父类是相对于其他“祖先”类而言的。
20.子类与父类的属性与方法:子类继承父类中除private部分的所有内容;子类中新增加的属性和方法是对父类的扩展;子类中定义的与父类同名的属性是对父类属性的隐藏,同名的成员方法是对父类方法的重载或覆盖。
21.类的成员覆盖:类成员覆盖是指在子类中新增加的数据成员的名称与父类相同,成员方法与父类定义的原型一样;若希望引用父类中的相应成员,需要使用关键字super 作为前缀。
22.多态性的实现:多态性出现在继承关系中;子类覆盖父类的成员方法;若在程序中调用该方法,则根据对象所引用的实例所属类确定最终调用的代码块。
23.异常的概念:异常是指程序运行过程中出现的影响程序正常运行的意外或特殊的事件。
注意:不包含常见的语法错误、逻辑错误。
语法错误由编译程序检查并给予提示。
若一个程序存在语法错误,将不能通过编译。
逻辑错误常常不影响程序的执行,但运行结果不正确。
24.Java对异常的处理机制:抛出异常------》捕获异常------》处理异常⏹抛出异常:当检测到错误时,创建一个与该错误对应的异常对象并将其提交给运行系统的过程。
⏹捕获异常:当抛出异常后,系统将寻找处理该异常的代码块。
一旦找到,就将抛出的异常对象作为参数传递给该代码块,以便处理。
这个过程被称做捕获异常。
⏹处理异常:根据接收的异常对象信息,给予相应的处理过程。
25.接口◆接口是方法定义和常量值的集合,接口中没有方法的实现(不能含有任何代码)。
所有的方法需要在子类中实现。
◆从本质上讲,接口是一种特殊的抽象类。
◆接口可以实现类间多继承结构。
接口内部只能定义公有的抽象方法(public abstract)和公有的、静态常量(public static final),因此所有的方法需要在子类中实现。
26.接口的作用:◆规定软件接口,促使编程行为的规范。
◆实现多继承。
Java只支持单继承,不允许多重继承。
Java中可通过接口来实现多重继承,即一个类可以实现多个接口。
27.接口的实现:接口中的抽象方法必须由类来实现:在类的声明中,用implements子句来声明该类要实现的一个或多个接口。
若实现某接口的类不是“abstract”类,则在类定义中必须实现指定的接口中的所有抽象方法,为这些抽象方法写出方法体,方法的声明部分必须和接口中方法声明完全一致。
若实现某接口的类是“abstract”类,则该类不必实现接口中的所有抽象方法,可定义该抽象类的子类(抽象或非抽象)来实现。
接口可以继承,而且一个接口可以继承多个接口,这些父接口之间用逗号分隔。
27.包:包是一组相关的类和接口的集合。
将类和接口分装在不同的包中,可以避免重名类的冲突,限定包之间类的访问权限,更有效地管理众多的类和接口。
28.包的创建与使用:格式:package pk1[.pk2[.pk3...]];包是分层管理的,其含义类似于目录。
若使用某个包中的类,则需要在程序的前面(在package之后)上写:import 包名;若需要将某个类放在某个包中,则需要在程序的首行写上:package 包名;29.StringBuffer类:StringBuffer类的每个对象可以进行扩充和修改,因此在创建对象时不一定要给出字符串初值。
30.设计用户界面步骤:(1)创建和设置组件(2)将组件加入到容器中(3)布局组件(4)处理由组件产生的事件31.容器:用来放置其他组件的组件。
32.组件:放置在容器中的用户界面元素33.在Swing中,用JFrame类实现窗口框架(顶层容器)。
正像前面讲述的那样,不能直接将可视组件放置在顶层容器中,而需要与内容窗格(ContentPane)配合使用。
在JFrame类中,提供了两种格式的构造方法。
JFrame() :创建初始不可见且标题为空的窗口框架。
JFrame(String title):创建初始不可见且标题为title的窗口框架。
34.JFrame类中部分成员方法:⏹设置点击关闭窗口按钮的操作效果voidsetDefaultCloseOperation(int)DO_NOTHING_ON_CLOSEHIDE_ON_CLOSEDISPOSE_ON_CLOSEEXIT_ON_CLOSE⏹设置窗口大小voidsetSize(intwidth,int height)voidsetSize(Dimension size)⏹获取内容窗格Container getContentPane()⏹将窗口设置为最佳大小pack()35.JPanel类:JPanel容器又称为面板容器。
其主要特点有:❑不能作为顶层容器;❑可以嵌套放置;❑组件直接放置在容器中;36.面板容器是一种常用的容器种类。
在默认情况下,除了背景外,它不会自行绘制任何东西。
默认情况下,面板容器是不透明的。
可以调用setOpaque()方法,将其设置为透明的。
如果面板容器是透明的,将没有背景,这样可以使位于该容器覆盖区域下面的组件显示出来。
在JPanel类中,提供了两种格式的构造方法:JPanel() : 创建一个布局管理器为FlowLayout的面板容器。
JPanel(LayoutManager Layout):创建一个布局管理器为Layout的面板容器。
37.布局管理器:❑对于不同的操作平台,显示文字、图形的方式可能有所不同。
如果显式地指定一个组件的绝对位置和大小,有可能结果不可预测。
为此,Java语言提供了布局管理器来管理放置在容器内部的各组件大小及排列布局。
❑利用setLayout( )设置布局管理器❑每种容器都有一种默认的布局管理器❑若不使用布局管理器,setLayout(NULL)38.常用的布局管理器:FlowLayout (流程式)布局管理器BorderLayout (边框式)布局管理器CardLayout (卡片式)布局管理器GridLayout (网格式)布局管理器39.标签组件(JLabel)JLabel提供的主要构造方法:JLabel()JLabel(Icon icon)JLabel(Icon icon,inthorizontaAlignment)JLabel(String text)JLabel(String text, inthorizontaAlignment)JLabel(String text,Icon icon, inthorizontaAlignment)40.按钮组件(JButton)使用按钮组件需要经过下列基本步骤:(1)创建按钮对象;(2)将按钮对象添加到容器中;(3)设置响应点击按钮的操作。