云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 实验四 Java高级特性

实验四 Java高级特性

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 0:45:35

实验四 Java高级特性

【实验目的】

1. 进一步加深对Java面向对象的理解。

2. 掌握static关键词的使用,static分别用于修饰成员变量、成员方法和代码块的意义。 3. 掌握final关键词的使用,final分别用于修饰类、成员方法和成员变量的意义; 4. 掌握接口的使用,理解接口与抽象类的区别。

5. 理解包的概念和作用,掌握如何使用包进行命名空间管理。 【实验内容】

1. 验证例子5-1,Count.java,和5-2,UseGeneral.java,这两个程序分别用于演示对类变量

和类方法的访问。

(1) 修改程序UseGeneral.java,创建GeneralFunction类的实例对象,并尝试通过该对象来访问其静态方法,观察结果如何。

(2) 修改程序UseGeneral.java,为GeneralFunction类添加非静态变量和非静态成员方法,观察结果如何。

(3) 创建类BaseClass,及其子类DerivedClass,其代码分别如下,运行程序,并观察结

果,进行分析。

class BaseClass {

public void methodOne(){System.out.println(\BaseClass\);}

public void methodTwo(){System.out.println(\BaseClass\);}

public static void methodThree(){System.out.println(\methodThree in BaseClass\);}

public static void methodFour(){System.out.println(\BaseClass\);} }

class DerivedClass extends BaseClass{ }

public class StaticTest {

public static void main(String[] args){ BaseClass bc=new BaseClass(); DerivedClass dc=new DerivedClass();

public static void methodOne(){System.out.println(\methodFour in public void methodTwo(){System.out.println(\methodTwo in Derived public void methodThree(){System.out.println(\public static void methodFour(){System.out.println(\DerivedClass\);}//将父类中的非静态成员方法变成静态的 Class\);}

Derived Class\);} //将父类中的静态成员方法改成静态的 in Derived Class\);}

bc.methodOne(); bc.methodTwo();

BaseClass.methodThree(); BaseClass.methodFour();

dc.methodOne(); dc.methodTwo(); dc.methodThree();

DerivedClass.methodFour(); } }

2. 验证例子5-5,NewShapes.java,该程序演示通过接口实现多态。

(1) 实现Shape接口的类必须实现什么方法?

(2) 尝试将Circle类、Square类和Triangle类中的draw()方法声明前的访问控制权限改为默认的,观察结果并分析原因。

(3) 下面的接口合法吗?

public interface Marker { }

(4) 以下的接口定义有问题吗?若有问题,请改正。

public interface Marker { void aMethod(int value){

System.out.println(\); } }

3. 编写一个程序,练习使用final分别修饰类、成员方法、成员变量。观察以下程序,是否有问题,若有问题,请改正。 (1)final class FinalTest {

int number; void display(){ } }

class FinalDerived extends FinalTest{ }

System.out.println(\);

(2)

class FinalTest { int number;

final void display(){ } }

class FinalDerived extends FinalTest{

void display(){

System.out.println(\method with final in the derived class.\); System.out.println(\);

}

}

(3)class FinalTest {

final int NUMBER;

public static void main(String[] args){

FinalTest ft=new FinalTest(); ft.NUMBER=12345;

System.out.println(\+ft.NUMBER); } }

4. 验证例子5-8,演示内部类访问外包类成员。

5. 验证例子5-9,演示内部类中如何访问同名外包类成员。 6. 验证例子5-11,演示在外包类之外访问内部类。 7. 验证例子5-6,该程序演示了包的定义与使用。

(1) 在C盘根目录下,新建文件夹work,用于存放源程序Rectange.java,Point.java。 (2) 在C盘根目录下,新建文件夹mypkg,用于存放编译后的类文件。 (3) 编辑文件Rectangle.java,定义了Rectangle类放入graphics.twoD包中 (4) 编辑文件Point.java,定义了Point类放入graphics.twoD包中

(5) 在C:\\work目录下,新建文件夹test,用于存放源程序TestPackage.java。

(6) 编辑文件TestPackage.java,包含main()方法的测试程序。定义了一个点以及一个矩

形,计算并输出矩形的面积。 (7) 修改Classpath环境变量,在命令行使用set命令,set classpath=%classpath%;c:\\mypkg (8) 在命令行上,进入目录C:\\work,编译该文件夹中的两个文件Rectangle.java和

Point.java,使用命令 javac -d C:\\mypkg Point.java Rectangel.java,一次编译两个Java源文件,并将生成的字节码文件存放到C:\\mypkg文件夹中。 (9) 打开C:\\mypkg,观察里面的目录和文件结构,比较该结构和包与类名之间的关系。 (10) 进入C:\\work\\test目录下,编译TestPackage.java,由于该文件存放在当前目录下,可以直接使用javac和java命令。

8. 修改上述程序的存放位置,实现对源文件和类文件的有效管理。

(1) 在应用系统目录下,分别创建源文件目录与类文件目录,并把类文件目录加入到

Classpath环境变量中。如可创建如下目录:

C:\\graphicsApp\\source——作为存放源文件的顶层(根)目录

C:\\graphicsApp\\classes——作文存放类文件的顶层(根)目录

(2) 每个源文件都存放在source目录中以包名为相对路径的子目录下;编译后产生的类文件以所属包名为相对路径,存放在classes目录下。目录结构如下图所示。

C:\\graphicsApp\\ source\\ graphics\\ twoD\\ Point.java Rectangle.java classes\\ graphics\\ twoD\\ Point.class Rectangle.class

搜索更多关于: 实验四 Java高级特性 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

实验四 Java高级特性 【实验目的】 1. 进一步加深对Java面向对象的理解。 2. 掌握static关键词的使用,static分别用于修饰成员变量、成员方法和代码块的意义。 3. 掌握final关键词的使用,final分别用于修饰类、成员方法和成员变量的意义; 4. 掌握接口的使用,理解接口与抽象类的区别。 5. 理解包的概念和作用,掌握如何使用包进行命名空间管理。 【实验内容】 1. 验证例子5-1,Count.java,和5-2,UseGeneral.java,这两个程序分别用于演示对类变量和类方法的访问。 (1) 修改程序UseGeneral.java,创建GeneralFunction类的实例对象,并尝试通过该对象来访问其静态方法,观察结果如何。 (2) 修

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com