Java语言与面向对象技术复习资料

合集下载

面向对象程序设计Java总复习

面向对象程序设计Java总复习

类的定义与实例化
类的定义
使用`class`关键字定义一个类, 包括属性和方法。
实例化
通过使用`new`关键字创建类的实 例(对象)。
封装与继承
封装
通过使用访问修饰符(如`private`) 来控制属性和方法的访问权限,实现 信息的隐藏和安全。
继承
通过使用`extends`关键字实现,子类 继承父类的属性和方法,并可以添加 或覆盖父类的方法。
Statement和 PreparedStatement:用于执 行SQL语句,Statement用于
执行静态SQL语句, PreparedStatement用于执行
动态SQL语句。
ResultSet:用于获取查询结果 集,可以通过ResultSet对象获 取查询结果中的数据。
04
Java设计模式
应用场景
需要根据不同情况选择不同算法的场景,如排序算法、 加密算法等。
05
Java高级特性
注解和反射
注解(Annotation)
注解是Java提供的一种元数据机制,用于为代码添加元信息。注解本身不改变程序的行为,但可以通 过反射机制在运行时被读取和处理。
反射(Reflection)
反射是Java提供的一种机制,可以在运行时动态地获取类的信息,并创建、操作对象。反射常用于实 现框架、插件等可扩展性强的应用。
异常处理
异常分类
Java中的异常分为检查型异常(Checked Exceptions)和非检查型异常(Unchecked Exceptions)。
try-catch语句
try-catch语句用于捕获和处理异常,try块包含可能抛出异常的代码,catch块包含处理异常的代 码。

面向对象程序设计(Java)总复习

面向对象程序设计(Java)总复习
应用场景
需要频繁地创建和销毁同一对象实例的场合,如日志 记录器、缓存对象等。
工厂模式
定义
提供一个创建对象的最佳方 式。
实现方式
简单工厂、工厂方法、抽象 工厂。
应用场景
当需要根据不同的参数条件 创建不同的对象时,如数据 库连接池、对象序列化等。
观察者模式
定义
定义了对象之间的依赖关系,使得当一个对象状态发生改变时,其 相关依赖对象能够得到通知并自动更新。
for语句
用于循环遍历数组或集合等数据结 构。
04
函数与方法
函数
函数是执行特定任务的代码块,可以接受输入参数并返回结果。在 Java中,函数也被称为方法。
方法重载
在同一类中可以定义多个同名方法,只要它们的参数列表不同即可。
方法覆盖
子类可以定义与父类同名的方法,只要它们的参数列表和返回类型相 同即可。
集合框架
集合框架概述
List接口及其实现
Java集合框架提供了用于存储和操作对象 集合的接口和类。它包括List、Set、 Queue和Map等接口以及实现这些接口的 类。
Set接口及其实现
List接口表示有序集合,可以包含重复元素 。Java提供了ArrayList、LinkedList等类来 实现List接口。
String类与正则表达式
字符串的比较
字符串的替换
字符串的截取
01
03 02
String类与正则表达式
01
正则表达式
02
正则表达式的概念
03
正则表达式的使用方法
String类与正则表达式
正则表达式的匹配规则
正则表达式的特殊字符
IO流与文件操作

面向对象程序设计Java复习提纲

面向对象程序设计Java复习提纲

实用文档Unit1:1.面向对象中类的概念:类是创建对象的模版,定义了对象的属性和方法;类中的属性赋予确定的取值得到该类的一个对象,对象是类的实例。

2.阐述类属性和操作的概念和作用?属性:已被命名的类的特性,描述对象的特征操作:是类的特征,用来定义如何激活该类对象的行为,类操作是对类属性的处理3.面向对象中对象的概念所要解决的现实世界的问题抽象为软件对象;需求描述问题域中拥有属性的实体或概念都可以看做对象。

4.阐述类与对象的联系类是一组对象的描述类是创建对象的模板,对象是类的实例类是一种数据类型,可以使用类名称声明对象变量5.阐述类与对象的区别抽象和具体,模板与实例6.类是否是数据类型?与你学过的其他类型进行比较,有何不同?类是一种数据类型,称之为对象类型,所以可以使用类名称声明对象。

类可以包含多个数据类型。

7.变量UML类图中类及其类中属性和方法如何表示?类名,类属性,类方法,各占一行8.UML类图中类与类之间的继承关系如何表示?其代表的含义是什么?实心线空心箭头;指一个类自动拥有另一个类的所有数据和操作。

9.UML类图中类与类之间的关联关系如何表示?其代表的含以是什么?实用文档单向为实心箭头,双向为实心直线;指一个类拥有另一个类的一到多个对象10.如果UML类图中类A与类B之间是1对多的关联关系,关联属性的数据类型是什么?类B对象的容器类型11.如果UML类图中类与类之间1对1的关联关系中,关联属性的数据类型是什么?被关联类的对象类型12.根据用户需求,建立面向对象设计方案—UML类图的方法和步骤是什么?分析需求,找出类,类之间的关系,类的属性,定义类的方法,绘制类图13.一般情况下,每个类都应该提供哪些常用的方法?增删改查,add, remove, set, get14.一般情况下,包含容器的类应该提供哪些常用的方法?获取容器,返回容器迭代器或迭代器接口Unit2:1.撰写java类的具体语法2.根据Java类,Java对象变量如何声明?Java对象如何创建与使用?类名变量名(参数); new方法3.什么是Java引用(变量),其内涵是什么?地址,其值指向对象所在内存中的位置。

复习提纲-Java面向对象程序设计

复习提纲-Java面向对象程序设计

复习提纲--Java面向对象程序设计第一章Java概述1. Java有哪些特性?(最大的特性是平台无关性)2. JDK与JRE的区别。

3. JDK的有哪三个不同平台?(Java SE,Java EE,Java ME)4. PATH与CLASSPA TH的作用。

5. Java文件、类格式文件的扩展名是什么?6. Java编译命令和运行命令是什么?第二章基本程序设计1. 如何从控制台读取数据?如何向控制台输出数据?2. 辨别合法和非法的标识符。

3. 8种基本数据类型的字节数和直接量,科学记数法。

4. 什么是常量?5. 整数除法的运算结果,余数运算,自增自减运算,简捷运算符。

6. 隐式数值类型转换和强制数据类型转换。

7. Unicode。

8. String类和连接运算。

9. 程序设计错误类型:语法错误、运行错误、逻辑错误。

第三章选择1. else与if配对原则。

2. switch表达式的取值是什么数据类型?3. 短路逻辑运算符。

4. 条件运算符。

5. if和switch语句编程。

第四章循环1. while, do…while, for, break, continue语句编程。

第五章方法1. 方法有哪些组成部分?方法签名包括哪些部分?2. 方法的形参和实参。

3. 方法调用和返回。

方法参数的传递。

4. 什么是方法重载?5. 变量的作用域。

6. 用方法进行编程第六章一维数组1. 用普通for语句和for-each语句循环遍历数组2. 传递数组给方法3. 可变长参数列表4. 用一维数组进行编程第七章多维数组1. 遍历二维数组第八章对象和类1. 什么是类?什么是对象?如何定义类和创建对象?2. 什么是构造方法?它有哪些特点?什么是无参构造方法?什么是默认构造方法?3. 如何声明对象引用变量?如何访问对象的成员方法和成员变量?4. 不同类型的数据域(成员变量)的默认值分别是什么?5. 基本类型变量和引用类型变量的区别。

Java面向对象程序设计复习资料

Java面向对象程序设计复习资料

1.标识符合法判断2.数组定义与引用3.整除、求余操作4.字符串基本操作5.表达式合法性判断、三元表达式用法及简单计算【A ?B :C】6.注释用法,单行注释、多行注释和文档注释各自语法及用途7.构造方法以及作用【带参数和不带参数的构造方法应用以及子类调用父类构造方法】8.类及其属性、方法修饰符【访问范围】9.修饰符混用:abstract不能与final并列修饰同一个类【正确】;abstract类中不可以有private的成员【正确】;abstract方法必须在abstract类中【错误】;static方法中能处理非static的属性【正确】10.抽象方法抽象类11.接口的继承特点,类的继承【子类访问父类变量和方法问题、变量隐藏】特点、多态、子类调用父类相同名字的变量和方法。

12.创建对象数量问题:【1】String s1="bc"; String s2="bc";【2】Strings1="bc"; String s2=new String("bc");13.方法返回类型及方法的定义14.final变量及特点15.静态变量和非静态变量16.abstract和final修饰符17.综合【一般类的编写:成员变量和成员方法,抽象类使用、接口定义及使用、水仙花数、素数、回文数等】18.讨论分析(1)如果p是父类Parent的对象,而c是子类Child的对象,则语句c=p是正确的。

(2)最终类不能派生子类,最终方法不能被覆盖。

(3)Java中的String类的对象既可以是字符串常量,也可以是字符串变量。

(4)Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。

(5)设String对象s=”Hello ”,运行语句System.out.println(s.concat(“World!”));后String对象s的内容为”Hello world!”,所以语句输出为Hello world!(6)System类不能实例化,即不能创建System类的对象。

JAVA语言与面向对象程序设计期末复习题

JAVA语言与面向对象程序设计期末复习题

JAVA语言与面向对象程序设计期末复习题2011年上(一)单项选择题(二) 1.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。

A. 颜色B. 动态C. 状态D. 重量2.使用JDK编译ja v a程序时使用的命令是()。

A. javaB. javacC. appletviewerD. javadoc3.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符()。

A. privateB. protectedC. publicD. static4.在类的定义中,若需要把一个标识符定义为常量,则使用的修饰符为()。

A. constB. finalC. staticD. class5.在程序中声明包的语句关键字为()。

A. volatileB. packC. importD. package6.在一个方法的方法头(声明)中向调用它的上一层方法抛出异常的子句关键字为()。

A. catchB. throwC. throwsD. finally7.在类定义首部的语法格式中,()不能作为其中的修饰符。

A. publicB. protectdC. extendsD. abstract8.下列哪个类不是异常类的父类?()。

A. ErrorB. ThrowableC. ExceptionD. Object9.下面的关键字()与异常处理无关。

A. throwB. throwsC. importD. finally10.在读字节文件Employee.dat 时,使用该文件作为参数的类是()。

A. BufferedReaderB. DataInputStreamC. DataOutputStreamD. FileInputStream(二)填空题1.Java类库也称为Java API,它是Application Programming Interface的缩写,中文含义为________。

2.Java语言中用于修饰类的成员具有保护或私有访问属性的关键字分别为________和________。

Java面向对象基础知识复习

Java面向对象基础知识复习

复习1保留字goto2.标识符数字、字母、下划线、$组成,不能以数字开头,不能使用关键字或保留字,不能包含空格,不能包含除$以外的符号,不能包含中文起名规范:包名:所有字母小写:aaabbbccc类名/接口名:所有单词首字母大写:AaaBbbCcc变量名/函数名:第一个字母全小写,后面单词首字母大写:aaaBbbCcc常量名:所有字母大写,单词之间用下划线连接:AAA_BBB_CCC3.基本数据类型、字节数、大小、包装类byte 1字节2^7-1 Byteshort 2字节2^15-1 Shortint 4字节2^31-1 Integerlong 8字节2^63-1 Longfloat 4字节2^31-1 Floatdouble 8字节2^63-1 Doublechar 2字节2^15-1 Characterboolean 1位Boolean4.a++、++ab=a++:temp=a,a=a+1,b=tempb=++a:a=a+1,b=a5.&和&&的区别&:无论左侧结果是什么,两侧都需要进行运算&&:当左侧为false时,右侧不参与运算6.最有效的方式计算2乘以82<<37.if和switch的区别if后面是条件表达式,返回的是boolean类型,switch后面是byte/short/int/char类型的表达式8.能被switch的数据类型有哪些boolean、short、int、char(jdk1.7之后增加了String)9.for循环执行顺序for(初始化表达式1;循环条件表达式2;循环后操作表达式3){执行语句(循环体);}执行顺序:先执行表达式1进行初始化;根据表达式2判断是否执行循环体,如果返回true 执行循环体,如果false退出循环;执行完循环体一次后,执行表达式3,这个过程修改变量;再执行表达式2以此循环10.数组和链表的区别数组链表查快慢改慢快增删慢快11.面向对象三大特点封装:将数据等集合在一个单元内,称之为类,被封装的对象被称之为抽象数据类型继承:可传递性,如果C从B类中派生,B又从A类中派生,那么C既继承了B类中声明的成员,也继承了A类中的成员多态:指同一操作作用于不同的对象可以有不同的解释,也会产生不同的结果12.类中主要包含哪几个元素,分别有什么作用属性:用来定义对象的数据方法:用来定义对象的行为构造方法:用来创建对象内部类:作为类的一个成员存在,能够访问外部类的属性和方法代码块:用来在类加载时执行操作或者在每次实例化前执行通用操作13.成员变量(全局变量)和局部变量的区别1.定义的位置:成员变量:定义在类中局部变量:定义在方法体内,语句中2.生命周期:成员变量:也称为实例变量,随着对象的出现而出现,随着对象的消失而消失局部变量:一旦作用域结束立即释放3.内存的位置:成员变量:存储在堆内存中局部变量:存储在栈内存中4.初始值:成员变量:可以不赋初值,有默认的初始值,数据类型的默认值局部变量:可以不赋初值。

2024JAVA期末复习提纲

2024JAVA期末复习提纲

2024JAVA期末复习提纲一、Java基础知识1. Java的发展历程和特点2. Java的编译与运行过程3. Java开发环境的搭建4. Java基本语法和语句5.数据类型和变量6.运算符和表达式7.流程控制语句8.数组和字符串9.类和对象10.方法和函数11.异常处理12.输入输出流13.类的继承和接口的使用二、面向对象编程1.面向对象编程的基本概念和特点2.类与对象的关系3.类的成员变量和成员方法4.封装、继承和多态5.抽象类和接口的使用6.类的组合和关联7.内部类和匿名类的使用三、集合框架和泛型1.集合框架的基本概念和作用2.集合框架中的集合类和接口3. ArrayList、LinkedList、HashMap的使用4.迭代器和遍历集合5.泛型的概念和使用6.自定义泛型类和泛型方法四、多线程编程1.进程和线程的概念2.线程的创建和运行3.线程的同步和协作4.线程的基本方法和常用类5.线程池的使用五、网络编程1.网络编程的基本概念和原理2. Socket编程3.客户端和服务器的交互4. URL和URLConnection的使用5. HTTP协议和Servlet编程六、数据库编程1.数据库的基本概念和原理2.JDBC的概念和使用3.数据库的连接和操作4.SQL语句的编写和执行5.数据库事务的处理七、图形用户界面编程1. AWT和Swing的概念和特点2.GUI组件的使用3.事件处理和监听器4.布局管理器的使用5.图形界面设计和实现八、Web开发1.HTML和CSS的基本概念2. JavaScript的应用3. JSP和Servlet的概念和使用4.MVC设计模式5. Web应用的部署和调试以上是2024JAVA期末复习的提纲,按照这个提纲复习,应该能够对Java的基础知识、面向对象编程、集合框架和泛型、多线程编程、网络编程、数据库编程、图形用户界面编程和Web开发有一个较全面的了解。

希望能对你的复习有所帮助,祝你考试顺利!。

Java语言及面向对象技术复习资料

Java语言及面向对象技术复习资料

Java语言及面向对象技术复习资料一、单项选择题。

1、下列哪个是Java应用程序主类中正确的main方法?()A.public void main(String args[])B.static void main(String args[])C.public static void Main(String args[])D.public static void main(String args[])2、下列哪项是正确的float变量的声明?()A.float foo=-1; B.float foo=1.0;C.float foo=2.02f; D.float foo=0x0123;3、对于int a[]=new int[3];下列哪个叙述是错误的?()A.a.length的值是3。

B.a[1]的值是1。

C.a[0]的值是0。

D.a[a.length-1]的值等于a[2]的值。

4、下列哪个叙述是正确的?()A.5.0/2+10的结果是double型数据。

B.(int)5.8+1.0的结果是int型数据。

C.’苹’+’果’的结果是char型数据。

D.(short)10+’a’的结果是short型数据。

5、对于下列Hello类,哪个叙述是正确的?()A.Hello类有2个构造方法。

B.Hello类的int Hello()方法是错误的方法。

C.Hello类没有构造方法。

D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。

class Hello {Hello (int m) {}int Hello() {Return 20;}hello() {}}6、下列哪个叙述是正确的?()A.成员变量的名字不可以和局部变量的名字相同。

B.方法的参数的名字可以和方法中声明的局部变量的名字相同。

C.成员变量没有默认值。

D.局部变量没有默认值。

7、下列哪个叙述是正确的?()A.子类继承父类的构造方法B.abstract类的子类必须是非abstract类C.子类继承的方法只能操作子类继承和隐藏的成员变量D.子类重写或新增的方法也能直接操作被子类隐藏的成员变量8、下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)?()class A {static int m;static void f() {m=20; //A}}class B extends A {void f() //B{ m=222; //C}}class E {public static void main(String args[]) {A.f();}}9、将下列哪个代码(A,B,C,D)放入程序中标注的【代码】处将导致编译错误?()A.public float getNum() {return 4.0f;} B.public void getNum() {};C.public void getNum(double d) {}D.public double getNum(float d) {return 4.0d;}class A {public float getNum() {return 3.0f;}}public class B extends A {【代码】}10、下列哪个叙述是正确的?()A. 一个类最多可以实现两个接口B. 如果一个抽象类实现某个接口,那么它必须要重写接口中的全部方法C. 如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法D. 允许接口中只有一个抽象方法二、程序填空题。

JAVA语言与面向对象程序设计课程复习考试试题及答案A

JAVA语言与面向对象程序设计课程复习考试试题及答案A

《JAVA语言与面向对象程序设计》复习纲要A一、单项选择题1. Java application中的主类需包含main方法,以下哪项是main方法的正确形参?()A、String argsB、String args[]C、Char argD、StringBuffer args[]2.下列的哪个选项可以正确用以表示八进制值8?()。

A、0x8B、0x10C、08D、0103. 设 int x=1,float y=2,则表达式 x / y的值是()。

A、0B、1C、2D、以上都不是4. 若有定义:byte[] x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是()。

A、x[5-3]B、x[k]C、x[k+5]D、x[0]5. Java Applet在被浏览器加载的时候首先被执行且在applet整个生命周期中只被运行一次的方法是()。

A、init()B、start()C、opreationcrawl()D、reader()6. 在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行?()A、init()B、start()C、destroy()D、stop()7. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序特性称为()。

A、隐藏B、重写C、重载D、Java不支持此特性8. 以下有关构造方法的说法,正确的是()。

A、一个类的构造方法可以有多个B、构造方法在类定义时被调用C、构造方法只能由对象中的其它方法调用D、构造方法可以和类同名,也可以和类名不同9. 以下for循环的执行次数是()。

for(int x=0;(x==0)&(x>4);x++);A、无限次B、一次也不执行C、执行4次D、执行3次10. 下面类定义中哪一个给出了合法的抽象类的定义?()A、abstract Animal {abstract void growl();};B、class abstract Animal {abstract void growl();};C、abstract class Animal {abstract void growl();};D、abstract class Animal {abstract void growl() {System.out.println("growl");}}二、多项选择题1.Java中main()函数的值是什么?()A、StringB、intC、charD、void2.下面哪句话是正确的?()A、>> 是算术右移操作符B、>> 是逻辑右移操作符C、>>> 是算术右移操作符D、>>> 是逻辑右移操作符3. 下面哪个赋值语句是合法的?()A、float a = 2.0B、double b = 2.0C、int c = 2D、long d = 24. 已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 };下面哪个表达式的值与数组下标量总数相等?()A、m.length()B、m.lengthC、m.length()+1D、m.length+15. 下列关于静态初始化器的叙述中,哪一个是正确的?()。

最新Java面向对象程序设计复习资料_java语法

最新Java面向对象程序设计复习资料_java语法

2.3 常量 (6)
布尔常量
false true
2.4 变量 (1)
定义:变量——保存数据的存储单元。变量名即标 识符。
Java是强类型语言,即每个变量只能申明成一种数 据类型;
语法:数据类型 变量名1,变量名2, …
例如:
double dWidth
int iAge
char ch;
Java type system
primitive
reference null
char
numeric
integral
boolean class interface array floating-point
byte short int long float double
2 根本数据类型(2)
注意:没有C语言中Unsigned 〔无符号〕修饰类型 简单数据类型与面向对象中类的对应 Boolean boolean Character char Byte byte Short short Integer int Long long Float float Double double
1. 标识符与关键字 (3)
关键字:保存字,特殊含义。不能作为标识符 50个,具体见P18,例如: Abstract continue for new switch 等 const goto 在Java中为占位符,一般不用 true false null 不是关键字,但有其含义,不能作为
跳转语句 break ; continue ; 编码标准 编程错误(编译错误 运行时错误 逻辑错误)
课后作业
P55 2.10 习题
运算符的优先级 14级 〔〕 [] . ++ -- new ! ~ 运算符具有优先级和结合性 一元、二元、三元运算符 算数、关系、逻辑运算符

Java语言及面向对象技术复习资料

Java语言及面向对象技术复习资料

一、单项选择题。

1、下列哪个是Java应用程序主类中正确的main方法?()A.public void main(String args[])B.static void main(String args[])C.public static void Main(String args[])D.public static void main(String args[])2、下列哪项是正确的float变量的声明?()A.float foo=-1; B.float foo=1.0;C.float foo=2.02f; D.float foo=0x0123;3、对于int a[]=new int[3];下列哪个叙述是错误的?()A.a.length的值是3。

B.a[1]的值是1。

C.a[0]的值是0。

D.a[a.length-1]的值等于a[2]的值。

4、下列哪个叙述是正确的?()A.5.0/2+10的结果是double型数据。

B.(int)5.8+1.0的结果是int型数据。

C.’苹’+’果’的结果是char型数据。

D.(short)10+’a’的结果是short型数据。

5、对于下列Hello类,哪个叙述是正确的?()A.Hello类有2个构造方法。

B.Hello类的int Hello()方法是错误的方法。

C.Hello类没有构造方法。

D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。

class Hello {Hello (int m) {}int Hello() {Return 20;}hello() {}}6、下列哪个叙述是正确的?()A.成员变量的名字不可以和局部变量的名字相同。

B.方法的参数的名字可以和方法中声明的局部变量的名字相同。

C.成员变量没有默认值。

D.局部变量没有默认值。

7、下列哪个叙述是正确的?()A.子类继承父类的构造方法B.abstract类的子类必须是非abstract类C.子类继承的方法只能操作子类继承和隐藏的成员变量D.子类重写或新增的方法也能直接操作被子类隐藏的成员变量8、下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)?()class A {static int m;static void f() {m=20; //A}}class B extends A {void f() //B{ m=222; //C}}class E {public static void main(String args[]) {A.f();}}9、将下列哪个代码(A,B,C,D)放入程序中标注的【代码】处将导致编译错误?()A.public float getNum() {return 4.0f;}B.public void getNum() {};C.public void getNum(double d) {}D.public double getNum(float d) {return 4.0d;}class A {public float getNum() {return 3.0f;}}public class B extends A {【代码】}10、下列哪个叙述是正确的?()A. 一个类最多可以实现两个接口B. 如果一个抽象类实现某个接口,那么它必须要重写接口中的全部方法C. 如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法D. 允许接口中只有一个抽象方法二、程序填空题。

面向对象程序设计(Java)复习提纲

面向对象程序设计(Java)复习提纲

面向对象程序设计(Java)复习提纲Unit1:1.面向对象中类的概念:类是创建对象的模版,定义了对象的属性和方法;类中的属性赋予确定的取值得到该类的一个对象,对象是类的实例。

2.阐述类属性和操作的概念和作用?属性:已被命名的类的特性,描述对象的特征操作:是类的特征,用来定义如何激活该类对象的行为,类操作是对类属性的处理3.面向对象中对象的概念所要解决的现实世界的问题抽象为软件对象;需求描述问题域中拥有属性的实体或概念都可以看做对象。

4.阐述类与对象的联系类是一组对象的描述类是创建对象的模板,对象是类的实例类是一种数据类型,可以使用类名称声明对象变量5.阐述类与对象的区别抽象和具体,模板与实例6.类是否是数据类型?与你学过的其他类型进行比较,有何不同?类是一种数据类型,称之为对象类型,所以可以使用类名称声明对象。

类可以包含多个数据类型。

7.变量UML类图中类及其类中属性和方法如何表示?类名,类属性,类方法,各占一行8.UML类图中类与类之间的继承关系如何表示?其代表的含义是什么?实心线空心箭头;指一个类自动拥有另一个类的所有数据和操作。

9.UML类图中类与类之间的关联关系如何表示?其代表的含以是什么?单向为实心箭头,双向为实心直线;指一个类拥有另一个类的一到多个对象10.如果UML类图中类A与类B之间是1对多的关联关系,关联属性的数据类型是什么?类B对象的容器类型11.如果UML类图中类与类之间1对1的关联关系中,关联属性的数据类型是什么?被关联类的对象类型12.根据用户需求,建立面向对象设计方案—UML类图的方法和步骤是什么?分析需求,找出类,类之间的关系,类的属性,定义类的方法,绘制类图13.一般情况下,每个类都应该提供哪些常用的方法?增删改查,add, remove, set, get14.一般情况下,包含容器的类应该提供哪些常用的方法?获取容器,返回容器迭代器或迭代器接口Unit2:1.撰写java类的具体语法2.根据Java类,Java对象变量如何声明?Java对象如何创建与使用?类名变量名(参数); new方法3.什么是Java引用(变量),其内涵是什么?地址,其值指向对象所在内存中的位置。

面向对象程序设计(Java) 复习提纲

面向对象程序设计(Java) 复习提纲

Java复习提纲1. 基础知识1)Java源代码文件后缀名为.java,编译后生成的字节码文件后缀名为.class2)Java中的变量名由三种类型的字符:字母、数字和下划线组成,且数字不能作为变量名首字母。

3)Java中的变量名一般首字母小写,类名首字母大写,包名首字母小写。

4)一个Java源文件中可以定义多个类,但只能有一个是public的。

5)JDK安装后,会有两个可执行程序文件java.exe、 javac.exe,其中java.exe是用来运行Java程序的,javac.exe是用来编译Java源代码的。

6)Java程序中,要结束程序退出,并且设置结果状态为-1,应该调用System.exit(-1);如果没有调用这个函数,那么程序最终退出时,退出值为0。

7)abstract类中可以有abstract和普通(非abstract)的方法;普通类中则只能有普通方法,不能有abstract方法。

8)int[] a = null; a[0]=77; 会引起NullPointerException。

9)String s = (String) new Object(); 会引起ClassCastException。

『父类不能强制转换成之类』10)Java中Object类是最顶层的类,是所有类的父类(也叫超类)。

11)使用instanceof运算符可以判断一个对象是否是某个类。

2. 名词解释1)JVM『Java虚拟机简称JVM,是运行所有Java程序的抽象计算机,包含Java解释器。

JVM实现了Java程序的跨平台运行。

』2)JRE和JDK『Java运行时环境简称JRE,Java开发工具的一个子集。

由想要重新分布JRE的终端用户和开发者使用。

JRE包括Java虚拟机、Java核心类及支持文件。

Java开发工具集简称JDK,用Java编写applet和应用程序的软件开发环境。

它比JRE多了开发工具和API。

面向对象程序设计(java)总复习

面向对象程序设计(java)总复习
• 字符串数组 • 二维数组
第八章 类与对象 ★
• 类与对象 • 定义类(属性、构造方法、方法) • 对象
– 声明、创建、引用(属性和方法)
• 构造方法(作用、特点、如何定义)
第九章 继承、多态、封装 ★
• 面向对象程序设计四大特征
–抽象、继承、多态和封装
• 继承 –单重继承与多重继承 –Object类 –继承的实现 –变量的隐藏 –方法的覆盖 –构造器的继承(了解) –this与super
– 顺序 – 选择(分支)
• if else • switch
– 循环
• while • do while • for
• 跳转语句
– break – continue
第五章 方法 ★
• 方法的声明
– 参数 – 返回值类型 – 修饰符
• 方法的调用 • 参数传递 • 类方法与实例方法 • 类变量与实例变量
• 多态
–面向对象的程序中多态表现为:重载和覆盖。
–方法的重载指:同一类中定义完全同名但含不同的具 体内容的方法,方法的参数列表必须不同(包括形式 参数的个数、类型、顺序的不同)。在调用同名方法 时通过参数不同区分不同的同名方法。方法返回类型 可以不同,但不是重载的标志。利用“重名”现象提 高程序的抽象度和简洁性。
–方法的覆盖是指:子类可以重新定义与父类同名而且 参数类型相同的成员方法,实现对父类方法的覆盖。 覆盖指在不同的类中,子类与父类的成员方法声明部 分(方法名、参数列表、返回值类型)完全相同。不 同类中的同名方法冠以类名以示区别。
• 封装的含义、作用及实现
–Java语言通过使用访问控制修饰符实现信息隐藏和对数 据的封装。访问控制符是一组限定类、数据成员或成员 方法是否可以被其他类访问的修饰符。包括:public、 private、缺省、 protected四种。其中public、缺省 可以修饰类,public、private、缺省、 protected可 以修饰属性和方法。封装通过访问控制修饰符来控制对 数据以及方法的访问性,实现信息隐藏。

《Java语言与面向对象程序设计》复习资料

《Java语言与面向对象程序设计》复习资料
A. 2项
B.至少一项
C. 0项
D.一项
A
表达式有( )的结果值,它的数据类型依赖于组成表达式的各个元素。
A.唯一
B.多个可用
C.指定运算符
D.至少一个
B
声明类时,对于类成员的访问控制,有两级控制( )可以使用。
A.级别
B.语句
C.类型
D.修饰符
C
下面方法是()方法。
class A{
fun(){};
对象;类
class As {
public As(){
}
……
}
子类
class Bw __________ As {
public Bw(String name){
__________;//调用父类的构造方法
}
……
}
extends;super()
__________计算是Java程序的任务之一。
表达式
表达式由变量、__________和方法调用按照语言__________构造而成。
类名
参数用来传送信息给__________和__________。方法可以拥有0到多个参数,在要的修饰有__________、private、__________和package-private。
public;protected
在程序中使用包时用__________语句引入包中类。
__________ String name; //保护的
__________ float height; //私有的
……..
}
protected;private
在声明变量的同时赋值,其语法格式:
类型变量(域)名称=__________;

面向对象(JAVA)复习要点

面向对象(JAVA)复习要点

1.如何克服“构造函数只能调用1次,但是初始化工作可能在以后还会调用”的矛盾?答案:在构造函数中调用特定的初始化函数。

2. 英语词汇:参数 argument类型 type顺序 sequence构造函数 constructor重载 overload覆盖/重写 override封装 encapsulation多态 polymorphism继承 inheritance3. 重载叫做静态多态性4. 返回类型的不同能否作为重载的依据?不能。

如果你作为语言的设计者,为什么会这样规定?返回值是在函数调用之后才获得,函数调用时,并不关心返回值。

5. 区分符:Public:包内外均可引用Protected:包内,包外子类均可引用默认:包内引用Private: 类的内部引用6.静态变量之分配一次内存,一般作用是总体初始化一个变量,可再次赋值改变该值。

静态函数静态变量 neng普通函数普通变量 neng静态函数普通变量 bunenng普通函数静态变量 neng7.静态变量可以用对象.访问,但一般用类名.访问8.子类成员的覆盖不能比父类成员具有更严格的访问权限,仅限于成员函数。

即,成员变量可以有比父类同一定义变量访问权限更严格的量。

9.子类能够继承父类中的所有非私有成员,当成自己的成员。

一般情况下,将父类中被继承的成员定义成protected,方便包外子类使用。

10.继承只能实现继承树上各个类的功能的复用;组合却能实现理论上无限制的复用。

11.何时用继承,何时用组合?类之间明显有父子关系的情况下如果要复用,用继承;否则用组合。

12.继承和组合哪个用的多?组合13. 什么是动态多态?父类引用可以指向子类对象,在覆盖的情况下,父类引用调用的成员是子类成员14.将父类中某一个函数定义为抽象函数,规定:抽象函数必须被重写1:抽象函数也叫虚函数,没有函数体2:含有抽象函数的类叫做抽象类,必须用abstract 修饰3:抽象函数必须在子类中重写,除非该子类也是一个抽象类4:抽象类不能被实例化抽象类中普通成员可以负责完成所有子类都必须完成的逻辑15.除了抽象类,还有一种类:final类final类不能被继承final函数不能被覆盖final变量不能被改变16.抽象类中可否不写抽象函数?不行17.抽象类不能被new的方式实例化;但是子类实例化,抽象类还是实例化了18.接口中定义的变量只能是常量19.出抽象类和接口至少三个区别:1:抽象类中可以含有普通函数,接口不可以2:接口中的函数默认抽象的,抽象类不是3:可以实现多个接口4:抽象类通过extends继承,接口通过implements实现20.UML :unified modeling language 统一建模语言1.关联关系:单向关联双向关联自关联(实线箭头)2.聚合关系:整体与部分的关系3.组合关系:表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期4.依赖关系:使用关系5.泛化关系:继承6.接口与实现:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单项选择题。

1、下列哪个是Java应用程序主类中正确的main方法?()A.public void main(String args[])B.static void main(String args[])C.public static void Main(String args[])D.public static void main(String args[])2、下列哪项是正确的float变量的声明?()A.float foo=-1; B.float foo=1.0;C.float foo=2.02f; D.float foo=0x0123;3、对于int a[]=new int[3];下列哪个叙述是错误的?()A.a.length的值是3。

B.a[1]的值是1。

C.a[0]的值是0。

D.a[a.length-1]的值等于a[2]的值。

4、下列哪个叙述是正确的?()A.5.0/2+10的结果是double型数据。

B.(int)5.8+1.0的结果是int型数据。

C.’苹’+’果’的结果是char型数据。

D.(short)10+’a’的结果是short型数据。

5、对于下列Hello类,哪个叙述是正确的?()A.Hello类有2个构造方法。

B.Hello类的int Hello()方法是错误的方法。

C.Hello类没有构造方法。

D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。

class Hello {Hello (int m) {}int Hello() {Return 20;}hello() {}}6、下列哪个叙述是正确的?()A.成员变量的名字不可以和局部变量的名字相同。

B.方法的参数的名字可以和方法中声明的局部变量的名字相同。

C.成员变量没有默认值。

D.局部变量没有默认值。

7、下列哪个叙述是正确的?()A.子类继承父类的构造方法B.abstract类的子类必须是非abstract类C.子类继承的方法只能操作子类继承和隐藏的成员变量D.子类重写或新增的方法也能直接操作被子类隐藏的成员变量8、下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)?()class A {static int m;static void f() {m=20; //A}}class B extends A {void f() //B{ m=222; //C}}class E {public static void main(String args[]) {A.f();}}9、将下列哪个代码(A,B,C,D)放入程序中标注的【代码】处将导致编译错误?()A.public float getNum() {return 4.0f;}B.public void getNum() {};C.public void getNum(double d) {}D.public double getNum(float d) {return 4.0d;}class A {public float getNum() {return 3.0f;}}public class B extends A {【代码】}10、下列哪个叙述是正确的?()A. 一个类最多可以实现两个接口B. 如果一个抽象类实现某个接口,那么它必须要重写接口中的全部方法C. 如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法D. 允许接口中只有一个抽象方法二、程序填空题。

1、public class TV {int channel; //电视频道void setChannel(int m) {if(m>=1){channel=m;}}int getChannel(){【代码1】// 返回成员变量的值}void showProgram(){switch(channel) {case 1 : System.out.println("综合频道");break;case 2 : System.out.println("经济频道");break;case 3 : System.out.println("文艺频道");break;case 4 : System.out.println("国际频道");break;case 5 : System.out.println("体育频道");break;default : System.out.println("不能收看"+channel+"频道");}}}public class Family {TV homeTV;void buyTV(TV tv) {【代码2】//将参数tv赋值给homeTV }void remoteControl(int m) {【代码3】//调用setChannel()方法}void seeTV() {【代码4】//调用showProgram()方法}}public class MainClass {public static void main(String args[]) {TV haierTV = new TV();【代码5】//haierTV调用setChannel(int m),并向参数m传递5System.out.println("haierTV的频道是"+haierTV.getChannel());Family zhangSanFamily = new Family();【代码6】//zhangSanFamily调用void buyTV(TV tv)方法,并将haierTV传递给参数TV System.out.println("zhangSanFamily开始看电视节目");zhangSanFamily.seeTV();int m=2;System.out.println("hangSanFamily将电视更换到"+m+"频道");zhangSanFamily.remoteControl(m);System.out.println("haierTV的频道是"+haierTV.getChannel());System.out.println("hangSanFamily再看电视节目");zhangSanFamily.seeTV();}}2、abstract class Employee {public abstract double earnings();}class YearWorker extends Employee {【代码1】//重写earnings()方法}class MonthWorker extends Employee {【代码2】//重写earnings()方法}class WeekWorker extends Employee {public void earnings() {return 52*780;}}class Company {Employee[] employee;double salaries=0;Company(Employee[] employee) {this.employee=employee;}public double salariesPay() {salaries=0;for (int i=0;i<employee.length;i++ ) {salaries=salaries+employee[i].earnings();}return salaries;}}public class CompanySalary {public static void main(String args[]) {【代码3】//公司有29名雇员【代码4】{ //雇员简单地分成三类if(i%3==0)employee[i]=new WeekWorker();else if(i%3==1)employee[i]=new MonthWorker();else if(i%3==2)employee[i]=new YearWorker();}Company company=new Company(employee);System.out.println("公司薪水总额:"+company.salariesPay()+"元");}}三、阅读程序写结果题。

1、Public class E {Public static void main (String []args) {Int x=1,y=6;While (y-->0) {x--;}System.out.print(“x=”+x+”,y=”+y);}}2、class B {int n;static int sum=0;void setN(int n) {this.n=n;}int getSum() {for (int i=1;i<=n;i++)sum=sum+i;return sum;}}public class A {public static void main(String args[]) {B b1=new B(),b2=new B();b1.setN(3);b2.setN(5);int s1=b1.getSum();int s2=b2.getSum();System.out.println(s1+s2);}}3、请说出E类中【代码1】~【代码4】的输出结果。

class A {double f(double x,double y) {return x+y;}static int g(int n) {return n*n;}}class B extends A {double f(double x,double y) {double m=super.f(x,y);return m+x*y;}static int g(int n) {int m=A.g(n);return m+n;}}public class E {public static void main(String args[])B b=new B();System.out.println(b.f(10.0,8.0)); //【代码1】System.out.println(b.g(3)); //【代码2】A a=new B();System.out.println(a.f(10.0,8.0)); //【代码3】System.out.println(a.g(3)); //【代码4】}}【代码1】【代码2】【代码3】【代码4】四、编程题1。

相关文档
最新文档