当前位置:文档之家› 自考Java语言程序设计(一)第五章以后课后习题及答案

自考Java语言程序设计(一)第五章以后课后习题及答案

{
m_dRealPart = d;
}
void setImaginaryPart(double d)
{
m_dImaginPart = d;
}
//复数运算方法
ComplexNumber complexAdd(ComplexNumber c)
{
return new ComplexNumber(
this.m_dRealPart + c.getRealPart(),
{
suhData=new Data;
}
intgetData()
{
return subData;
}
}
3.“子类的域和方法的数目一定大于等于父类的域和方法的数目”,这种说法是否正确?为什么?
4.在Java程序中,通过类的定义只能实现单重继承()
5.下列哪些说法是正确的?
A、Java语言只允许单一继承
B、Java语言只允许实现一个接口
·m_dlmaginPart虚部,代表复数的虚数部分。
(2)复数类ComplexNumber的方法
·ComplexNumber()构造方法,将实部、虚部都置为0。
·ComplexNumber(doubler,doublei)构造方法,创建复数对象的同时完成复数的实部、虚部的初始化;r为实部的初值,i为虚部的初值。
A.两个或两个以上的方法取相同的方法名,但形参的个数或类型不同考试大论坛
B.两个以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同
C.两个以上的方法名字不同,但形参的个数或类型相同
D.两个以上的方法取相同的方法名,并且方法的返回类型相同
3.什么是方法的覆盖?方法的覆盖与域的隐藏有何不同?与方法的重载有何不同?
4. true
5. A D
6. Object
7.答:
What a pleasure!
I am Tom
How do you do?
8.访问权限修饰符
9.“.”
10.软件模型
自考Java语言程序设计(一)第六章重载与多态课后习题
六、重载与多态
1.判断:接口中的所有方法都没有被实现。()
2.方法重载是指( )
}
public Test(String s){
super(s);
System.out.println("How do you do?");
}
public Test(){
this("I am Tom");
}
} www.E
class TT{
public TT(){
System.out.println("What a pleasure!");
4.答:关键字this指代当前类的当前对象,关键字super指代当前类的直接父类对象。考试大-全国最大教育类网站(www.Examda。com)
5.答:一个类中存在多个同名的方法,称为多态。把抽象功能和目的相同,而具体实现因不同情况而异的方法命名为同名方法,符合面向对象程序设计中抽象、提升概念,封装、隐藏细节的特点,从而提高了程序的简洁性和可读性,降低了类和程序模块直接的相互耦合和依赖。
}
public TT(String s){
this();
System.out.println("I am "+s);
}
}
结果:________
8.父类的成员在子类中的访问权限由决定。
9.对象的使用包括引用对象的成员变量和方法。通过运算符就能实现对对象成员变量的访问和对象
10.Java是面向对象语言,对象是客观事物的,对象与之是一一对应的,它是很具体的概念。
自考Java语言程序设计(一)第五张课后习题及答案
自考Java语言程序设计(一)第五章类的继承课后习题
五、类的继承
l.什么是继承?什么是父类?什么是子类?继承的特性可给面向对象编程带来什么好处?什么是单重继承?什么是多重继承?
2.观察下面的程序片断,指出其中的父类和子类,以及父类和子类的各个域和方法。
+ d + "等于"
+ cNumber_plexMulti(d).toString());
}
}
class ComplexNumber
{
//域
private double m_dRealPart;
private double m_dImaginPart;
//构造方法
ComplexNumber()
6.答:Java程序通过覆盖和重载两种方式来实现多态。覆盖是子类重新定义父类中已有的方法,重载是在一个类内部定义与已存在的方法同名但是参数列表不同的方法。
7.答:
public class ch5_e5_12
{
public static void main(String args[])
{
ComplexNumber cNumber_1 =
9.一个类如何实现接口?实现某接口的类是否一定要重载该接口中的所有抽象方法?
10.接口是否可以被继承?阅读下面的代码,试写出SubInterface中的抽象方法。
interface SupInterface
{
public abstract int supMethod();
}
interface SubInterface extends SupInterface
m_dImaginPart = c.getImaginaryPart();
}
//get,set方法
double getRealPart()
{
return m_dRealPart;
}
double getImaginaryPart()
{
return m_dImaginPart;
}
void setRealPart(double d)
System.out.println(cNumber_1.toString() + "乘"
+ cNumber_2.toString() + "等于"
+ cNumber_plexMulti(cNumber_2).toString());
System.out.println(cNumber_1.toString() + "乘"
+ cNumber_plexAdd(cNumber_2).toString());
System.out.println(cNumber_1.toString() + "加"
+ d + "等于"
+ cNumber_plexAdd(d).toString());
System.out.println(cNumber_1.toString() + "减"
this.m_dImaginPart + c.getImaginaryPart());
}
ComplexNumber complexAdd(double c)
{
return new ComplexNumber(
this.m_dRealPart + c, this.m_dImaginPart);
}
ComplexNumber complexMinus(ComplexNumber c)
4.解释this和super的意义和作用。
5.什么是多态?面向对象程序设计为什么要引人多态的特性?使用多态有什么优点?
6.Java程序如何实现多态?有哪些方式?
7.根据下面的要求编程实现复数类ComplexNumber。
(1)复数类ComplexNumber的属性
·m_dRealPart实部,代表复数的实数部分。
{
return new ComplexNumber(
this.m_dRealPart - c.getRealPart(),
this.m_dImaginPart - c.getImaginaryPart());
}
ComplexNumber complexMinus(double c)
{来源:
return new ComplexNumber(
this.m_dRealPart - c, this.m_dImaginPart);
·getRealPart()获得复数对象的实部。
·getlmaginaryPart()获得复数对象的虚部。
·setRealPart(doubled)把当前复数对象的实部设置为给定的形参的数字。
·setlmaginaryPart(doubled)把当前复数对象的虚部设置为给定形参的数字。
·complexAdd(ComplexNumberc)当前复数对象与形参复数对象相加,所得的结果也是复数值,返回给此方法的调用者。
+ cNumber_2.toString() + "等于"
+ cNumber_plexMinus(cNumber_2).toString());
System.out.println(cNumber_1.toString() + "减"
+ d + "等于"
+ cNumber_plexMinus(d).toString());
·complexAdd(doublec)当前复数对象与形参实数对象相加,所得的结果仍是复数值,返回给此方法的调用者。
·complexMinus(ComplexNumberc)当前复数对象与形参复数对象相减,所得的结果也是复数值,返回给此方法的调用者。
相关主题