《Java程序设计基础》第6章习题

您所在的位置:网站首页 java程序设计基础第七版课后答案陈国君 《Java程序设计基础》第6章习题

《Java程序设计基础》第6章习题

#《Java程序设计基础》第6章习题| 来源: 网络整理| 查看: 265

6.1 类与对象的区别是什么? 类是对某一类事物的描述,是抽象的、概念上的定义;而对象则是实际存在的属该类事物的具体个体,因而也称为实例。类是对象的模板、图纸,而对象则是类的一个实例,是实实在在的个体,一个类可以对应多个对象。 6.2 如何定义一个类?类的结构是怎样的? 由于类是将数据和方法封装在一起的一种数据结构,其中数据表示类的属性,方法表示类的行为,所以定义类实际上就是定义类的属性与方法。 类的一般语法结构如下: [类修饰符] class类名称 { [修饰符] 数据类型 成员变量名称; …… [修饰符] 返回值的数据类型 方法名(参数1,……,参数n) { 语句序列; return[表达式]; } …… } 6.3 定义一个类时所使用的修饰符有哪几个?每个修饰符的作用是什么?是否可以混用? 类的修饰符: ① public:将一个类声明为公共类,它可以被任何对象访问。 ② abstract:将一个类声明为抽象类,没有实现方法,需要子类提供方法的实现,所以不能创建该类的实例。 ③ final:将一个类声明为最终类即非继承类,表示它不能被其它类所继承。 ④ 缺省:缺省修饰符时,则表示只有在相同包中的对象才能使用这样的类。

一个类可以有多个修饰符,且无先后顺序之分,但abstract和final相互对立,所以不能同时应用在一个类的定义中。 6.4 成员变量的修饰符有哪些?各修饰符的功能是什么?是否可以混用? 成员变量的修饰符: ① public:公共访问控制符。指定该变量为公共的,它可以被任何对象的方法访问。 ② private:私有访问控制符。指定该变量只允许自己类的方法访问,其他任何类(包括子类)中的方法均不能访问此变量。 ③ protected:保护访问控制符。指定该变量只可以被它自己的类及其子类或同一包的其他类访问,在子类中可以覆盖此变量。 ④ 缺省:缺省访问控制符时,则表示在同一个包中的类可以访问此成员变量,而其他包中的类不能访问该成员变量。 ⑤ final:最终修饰符。指定此变量的值不能改变。 ⑥ static:静态修饰符。指定该变量被所有对象共享,即所有实例都可使用该变量。 ⑦ transient:过渡修饰符。指定该变量是一个系统保留、暂无特别作用的临时性变量。 ⑧ volatile:易失修饰符。指定该变量可以同时被几个线程控制和修改。

除了访问控制修饰符有多个之外,其他的修饰符都只有一个。一个成员变量可以被两个以上的修饰符同时修饰,但有些修饰符是不能同时定义在一起的。 6.5 成员方法的修饰符有哪些?各修饰符的功能是什么?是否可以混用? 成员方法的修饰符: ① Public:公共访问修饰符。指定该方法为公共的,它可以别任何对象的方法访问。 ② Private:私有访问控制符。指定该方法只允许自己类的方法访问,其他任何类(包括子类)中的方法均不能访问此方法。 ③ Protected:保护访问控制符。指定该方法只可以被它的类及其子类或同一包中的其他类访问。 ④ 缺省:缺省访问控制符时,表示在同一个包中的类可以访问此成员方法,而其他包中的类不能访问该成员方法。 ⑤ Final:最终修饰符。指定该方法不能被覆盖。 ⑥ Static:静态修饰符。指定不需要实例化一个对象就可以调用的方法。 ⑦ Abstract:抽象修饰符。指定该方法只声明方法头,没有方法体,抽象方法需在子类中被实现。 ⑧ Synchronized:同步修饰符。在多线程程序中,该修饰符用于对同步资源加锁,以防止其他线程访问,运行结束后解锁。 ⑨ Native:本地修饰符。指定此方法的方法体是用其他语言(如C语言)在程序外部编写的。

成员方法同样有多个控制修饰符,当用两个以上的修饰符来修饰同一个方法时,需要注意,有的修饰符之间是互斥的,所以不能同时使用。 6.6 成员变量与局部变量的区别有哪些? 成员变量与局部变量的区别: ① 从语法形式上看,成员变量属于类,而局部变量是在方法中定义的变量或是方法的参数;成员变量可以被public、private、static等修饰符所修饰,而局部变量则不能被访问控制修饰符及static所修饰;成员变量和局部变量都可以被final所修饰。 ② 从变量在内存中的存储方式上看,成员变量是对象的一部分,而对象是存在于堆内存的,而局部变量是存在于栈内存的。 ③ 从变量在内存中的生存时间上看,成员变量是对象的一部分,它随着对象的创建而存在,而局部变量随着方法的调用而产生,随着方法调用的结束而自动消失。 ④ 成员变量如果没有被赋初值,则会自动以类型的默认值赋值(有一种情况例外,被final修饰但没有被static修饰的成员变量必须显式地赋值);而局部变量则不会自动赋值,必须显式地赋值后才能使用。

6.7 创建一个对象使用什么运算符?对象实体与对象引用有何不同? 使用new运算符创建新的对象。 对象实体是通过new运算符在堆内存中创建的一个类的实例对象。 对象引用是以类名作为变量的类型在栈内存中定义的一个变量,此变量只是对象的名称,指向对象实体,而非对象本身。 一个对象引用可以指向0个或者1个对象实体,一个对象实体可以有多个对象引用,引用就相当于实体的别名。对象实体存放的是对象,而对象引用存放的是对象的首地址。 6.8对象的成员如何表示? 通过对象来引用对象成员的格式为:对象名 . 对象成员。 6.9在成员变量或成员方法前加上关键字this表示什么含义? 如果要强调是对象本身的成员的话(在类的定义内调用本类的其他成员),可以在成员名前加this关键字,此时this代表调用此成员的对象。 6.10什么是方法的返回值?返回值在类的方法里的作用是什么? 方法的返回值是方法体中的代码执行后产生的结果,即return后的表达式的结果。返回值可以接收出方法的结果,使得它可以用于其他的操作。 6.11在方法调用中,使用对象作为参数进行传递时,是“传值”还是“传址”?对象作参数起到什么作用? 是“传值”,只不过传的是对象的引用的值(副本),是个地址值。对象作参数可以通过方法改变对象的值。 6.12什么叫匿名对象?一般在什么情况下使用匿名对象? 当一个对象被创建之后,在调用该对象的方法时,也可以不定义对象的引用变量,而直接调用这个对象的方法,这样的对象称为匿名对象。

使用匿名对象通常有如下两种情况: ① 如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象。 ② 将匿名对象作为实参传递给一个方法调用。 6.13以m行n列二维数组为参数进行方法调用,分别计算二维数组各列元素之和,返回并输出所计算的结果。

import java.util.*; public class SumOfEveryColumn { public static void main(String[] args) { int m,n; int[][] arr; Scanner reader = new Scanner(System.in); System.out.print("请分别输入二维数组的行和列,用空格隔开:"); m=reader.nextInt(); n=reader.nextInt(); arr=new int[m][n]; System.out.println("请输入"+m+"*"+n+"二维数据: "); int i,j; for(i=0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3