您的位置:首页 > 编程语言 > Java开发

Java第六次实验要求

2016-04-12 21:43 615 查看
实验六 继承与接口(二)
 
一、 实验目的
1、 掌握Java语言中final关键字的含义及使用方法;
2、 掌握Java语言中上转型对象的基本概念及利用上转型对象实现多态的方法;
3、 掌握Java语言中抽象类的基本概念及使用方法;
4、 理解接口与抽象类的区别;
5、 理解程序设计中异常处理的重要性;
 
二、 实验要求
1、 根据实验步骤中提出的要求,使用记事本编写相应的Java程序;
2、 使用JDK中提供的javac以及java命令编译、运行自己所编写的Java程序;
3、 根据编译与运行过程中所获得的错误信息修改程序直至获得正确的结果;
4、 记录实验中遇到的各类问题并以及解决办法。
 
三、 实验步骤
1、 final关键字
(1) 已知有如下代码:
final class A{}
class C {
final void test(){}
}

(2) 请问下面代码是否正确?为什么?
class B extends A{ }
class D extends C{
void test();
}
class E {
final int x=10;
final int y;
final int z;
public E(){
y=3;
}
public void init(){
z=5;
}
}
 
 
2、 抽象类与接口
(1) 已知有如下代码:
class ShapeTest{
public static void main(String args[]){
Shape[] shapes={
new Circle(3), //圆形
new Square(3), //正方形
};
double total=0;
for ( Shape shape : shapes)
total+=shape.getArea();
System.out.printf("The total area of all shapes: %8.2f",total);
}
}
 
(2) 说明上述代码中是如何使用上转型对象的?
(3) 请分别实现Shape、Circle、Square的定义,其中Shape为抽象类;
(4) 请分别实现Shape、Circle、Square的定义,其中Circle为接口;
(5) 已知有Sortable接口如下:
interface Sortable{
void sort();
boolean hasNext();
Point next();
}
 
(6) 编写一个实现Sortable接口的类PointSorter,该类能够完成对坐标点的排序(按照坐标点到原点(0,0)的距离从大到小排列);
(7) 编写一个测试程序,该程序能够判断PointSorter类的正确性。
 
3、 异常
(1) 下面的程序会产生何种异常?为什么?
public class ProgramWithException {
public static String a;
public static String b="Hello";
public static void main(String args[]){
if (compareString(a,b))
System.out.println("Equal.");
else
System.out.println("Not Equal.");
}
public static boolean compareString(String a,String b){
return a.equals(b);
}
}
 
(2) 将上面的代码修改为以下代码,请简述下面代码的执行流程。
public class CompareException  extends Exception{
public String toString(){
return " One of the String is null!";
}
}
 
public class ProgramWithThrowException {
public static String a;
public static String b="Hello";
public static void main(String args[]){

try{
if (compareString(a,b))
System.out.println("Equal.");
else
System.out.println("Not Equal.");
}catch(CompareException e){
System.out.println("Error: "+e.toString());
}
}

public static boolean compareString(String a,String b) throws
CompareException{
try{
boolean result = a.equals(b);
return result;
}catch(NullPointerException e){
throw new CompareException();
}
}
}
 
 
四、 实验结果
五、 实验小结
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: