超级无敌神奇的java期末考试题库2(8)

2019-09-02 13:58

b) 用于描述一个类下所有对象共享的属性,一个对象改变了这个属性的值,其他对象在调

用这个属性时,值也发生了改变。

2) 类方法(静态方法)

a) 用static修饰的方法,叫类方法

b) 静态方法中不能访问非静态成员(属性和方法)

c) 在类外,静态属性和静态方法可以通过类名直接调用,也可以通过对象名调用。 d) 在类外,非静态属性和非静态方法只能通过对象名调用。 e) 类方法的创建:

[修饰符] static 返回值类型 方法名(参数列表) { //方法体 }

第四章、 封装、继承与多态

简答、选择

1. 类的可见性修饰符

名称 public 默认的 说明 可以被所有类访问(使用) 可以被同一个包中的类访问(使用) 备注 public类必须定义在和类名相同的同名文件中 默认的访问权限,可以省略此关键字,可以定义在和public类的同一个文件中 2. 类的成员(属性和方法)的可见性修饰符

注:方法和构造方法一般为public、属性一般为private、对私有属性的访问通过访问器方法完成(set方法和get方法) 3. 访问器方法-针对属性的

1) 由于对象不能直接通过引用访问私有数据域(属性或方法),为了能够访问到私有数据域,

可以为私有数据域添加读取方法?设置方法。84页例题6.1。 2) 设置方法-setter方法(设置器) 3) void set属性名(属性类型 参数) 名称 public protected private 缺省的 说明 可以被任何类访问 可以被同一包中的所有类访问 只能够被当前类的方法访问 可以被同一包中的所有类访问 备注 子类没有在同一包中也可以访问 如果子类没有在同一个包中,不能访问 { 属性名=参数;} 4) 获取方法-getter方法(访问器)

属性类型 get属性名() { return 属性名;}

36

5) 比如:对属性radius

public void setRadius(double r) { radius = r;

}

public double getRadius() { return radius;

} 4. 包

1) 定义包(将类放入包中) package 包名

注:package必须写在程序的第一行。如果JAVA程序中省略了包的声明,则认为这个类是在一个“无名包”中,有包的类不能访问无名包中的类。一个程序两个包中类同名,在使用类名前加包名前缀。 2) 包的引入

Import 包名.类名;

注:只能引入其他包中的public类。一个类可以使用多个import语句引入其他包。import语句在package语句后的第一条非注释语句。 5. 继承和多态

1) 继承的定义:面向对象中在已有类的基础上扩展出新类的方式称为继承。继承用于描述两个

类之间的 “ is-a ” 关系。扩展出的新类称为子类(次类),被继承的类称为父类(超类)。 2) 继承的语法:

[ 修饰符 ] class 子类名 extends 父类名 { //类体 }

3) 继承要点:子类可以得到父类的属性和方法。 继承来的子类可以添加新的属性和方法。 超

越继承子类可以重新定义父类的属性和方法。 4) 子类只能继承父类中可访问的属性:

a) 父子类在一个包中,子类可以继承父类中的非私有属性

b) 父子类不在一个包中,子类可以继承 public 类中的, public 属性和 protected 属性 5) 属性隐藏:子类可以定义与父类同名的属性,称为属性隐藏。也就是说子类可以重新定义父

类的属性。发生属性隐藏时,调用子类方法用子类属性,调用父类方法用父类属性。

6) 方法覆盖:子类将从父类中继承下来的方法重新实现,在子类中可以定义与父类方法头相同

的方法,叫做方法的覆盖。子类方法只能扩大覆盖访问权限,如父类是protected,子类只能是protected或public。

7) 方法重载:两个方法具有相同名称和不同的参数形式。被重载?方法必须具有不同的参数形

式。不能基于不同的修饰符或返回值类型重载方法。

8) 重载方法是提供多于一个方法,这些方法的名字相同,但参数形式不同;覆盖方法就是在子

类定义一个方法,该方法与父类中的方法名相同,参数形式也相同,并且返回值类型也相同。 6. 继承中的构造方法

1) 在创建子类对象时,先调用父类构造方法 ,然后再调用子类构造方法。默认情况下,调用父类无参的构造方法。在创建子类对象时,先调用父类构造方法 ,然后再调用子类构造方法。默认情况下,调用父类无参的构造方法

2) 构造方法调用原则:先父类,后子类默认调用父类无参构造方法。可用 super 在子类构造方

37

法中指明调用父类有参构造方法

3) super关键字:this指对象自己,super指父类对象

注:super在子类构造方法中知名调用父类?构造方法。子类中调用父类的属性和方法。不能在静态方法中使用。如果调用父类的构造方法,super语句必须写在子类构造方法的第一条。 7. final关键字

1) 用final说明一个类是终极的,不能做父类。

2) 用final定义的方法为终极的,不能被它的子类覆盖。 3) 用final修饰的属性和局部变量都不能被重新赋值。

第五章、 抽象类和接口

简答、选择

1. 抽象类

1) 抽象类:用abstract修饰的类。只能用于继承,不能用于创建对象 2) 创建抽象类:

[public] abstract class 类名[extends父类] {

[属性声明及初始化;] [抽象方法的声明;]

[非抽象方法声明及方法体;] }

3) 抽象方法:用abstract修饰的方法

只有方法头没有方法体。 抽象方法只能定义在抽象类中 4) 抽象方法语法结构

[修饰符] abstract 返回值类型 方法名(参数列表); 5) 抽象方法的作用:

强制非抽象子类中必须实现(覆盖)这个抽象方法。 6) 要点:

abstract类不能实例化,只能用于继承

abstract方法只有方法头,没有方法体。只能定义在抽象类中 注:抽象类中可以有具体方法 7) 抽象类不能创建对象,作用就是被继承。抽象类中的抽象方法在其非抽象子类中必须实现(覆

盖) 2. 接口

1) JAVA中的类只能单继承,用接口来实现多重继承的功能,但不能被称作多重继承。接口中只

能定义静态变量和抽象方法。 2) 接口定义的语法:

[public] interface 接口名 [extends 父接口列表]

38

{

// 属性声明

[public] [static] [final] 属性类型 属性名 = 常量值 ; // 方法声明

[public] [abstract] 返回值类型 方法名 ( 参数列表 ) ;

} 注:

1.修饰接口的修饰符只有public和默认修饰符两种。

2.接口可以是多重继承。接口只能继承接口,不能继承类。 3.属性必须是常量(有初值),方法必须抽象(无方法体)。

3) 接口与类之间的关系:类实现了接口,一个类可以同时实现多个接口,一个接口可以被多个

类实现。 4) 实现接口

class 类名 [extends 父类] [implements 接口列表] { 覆盖所有接口中定义的方法; } 注:

1、一个类可以同时实现多个接口,但只能继承一个类 2、类中必须覆盖接口中的所有方法,而且,都是公有的

第六章、 基础类库(课本第九章)

简答、选择、编程

注:掌握字符串的应用、掌握数组的使用、掌握JavaDoc的使用、了解基础类库的结构、了解常用类的使用

1. 声明数组

数据类型【】 数组名; 数据类型 数组名【】; 2. 数组对象的创建(实例化)

对象名 = new 元素类型[元素个数] 1) int [] a;//声明

a = new int [100];//创建

2) int [] a = new int [100];//声明+创建 3. 数组元素的访问 语法:数组[索引号] 4. 对象数组

Student students = new Student[2]; Student st1 = new Student(\王一\students[0] = st1;

Student st2 = new Student(\李二\students[1] = st2;

39

5. 多维数组

创建多维数组

int [][] a = new int[2][3]; int [][][] b = new int[2][3][4]; Circle [][] c = new Circle[2][3]; 书P144例9.2 6. Vector(向量) 1) 2) 3) 4) 5) 6) 7) 8) 9)

创建向量:Vector v = new Vector(); 添加元素:v.addElement(anObject);

获取元素:Object anObject = v.elementAt(0); 获取向量中元素个数:int num = v.size(); 插入一个元素:v.insertElement(anObject , 4); 替换指定下标的元素:v.setElement(anObject,4); 删除指定下标的元素:v.removeElement(4); 返回向量的容量:v.capacity();

第一次出现指定元素的位置:v.indexOf(anObject);

7. String类 1) 2) 3) 4) 5) 6)

判断该字符串是否与目标字符串相等:boolean equals(Object o) 不区分大小写比较是否相等:boolean equalsIgnoreCase(Object o) 按照字典顺序比较当前字符串与目标字符串:int compareTo(String s) 获取字符串的长度:int length()

获取指定位置的字符,index从0开始:char charAt(int index) 获取字符串的子串:

String substring(int from,int end) String substring(int from)

7) 查找指定字符或者字符串的位置,如果未找到返回-1

int indexOf(char c)

int indexOf(char c,int from) int indexOf(String s)

int indexOf(String s,int from) 8. StringBuffer类 1) 2) 3) 4) 5) 6) 7)

在字符串缓冲区后追加指定内容:append() 指定索引处插入指定字符:insert()

指定索引处的字符删除:deleteCharAt() 返回字符串缓冲区容量:capacity() 返回字符串缓冲区长度:length() 返回字符串内容:toString()

返回指定索引位置的字符:charAt()

9. String与其他数据类型间的转换 1) 其他数据类型->字符串

40

String out1 = String.valueOf(100) ; String out2 = String.valueOf(36.27) ; String out3 = String.valueOf(true) ; String out4 = String.valueOf(‘f’) ; 2) 字符串->其他数据类型

int i1 = Integer.parseInt(“111”);

double d=Double.parseDouble(“123.87”); float f=Float. parseFloat(“123.87”)

boolean=Boolean. parseBoolean(“true”) 10. Math类

1) 求两者间较大数:static int max(int a , int b) 2) 求两者间较小数:static int min(int a ,int b) 3) 求绝对值:static int abs(int a) 4) 四舍五入:

5) static int round(float a) 6) static long round(double d)

7) 求n次方:static double pow(double a,double b)

8) 求最大的整数但不大于本身:static double floor(double d) 9) 求最小的整数但不小于本身:static double ceil(double d) 10) 求平方根:static double sqrt(double d) 11) 0-1间的随机数:static double random() 11. 日期处理相关的类

1) java.util.Date用于表示日期和时间 2) Java.util.Calendar

修改时间:

void set(int year,int month,int date) void set(int field,int value) 与Date转换: Date getTime()

void setTime(Date time)

41


超级无敌神奇的java期末考试题库2(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:技术问答

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: