Java实验报告4

一、实验目的:
 1.了解如何使用类及其成员的修饰符,理解类的继承性,掌握方法的继承、重载和覆盖。


二、实验环境:
 Eclipce


三、实验内容:
(一)修饰符
     1.编写源程序KY4_1.java,通过两个类StaticDome、KY4_1来说明类变量和与对象变量,以及类方法和对
       象方法的区别。源代码如下:
       package ch4;


       class StaticDemo {
           static int x;
           int y;
           public static int getX() {
               return x;
           }
           public static void setX(int newX) {
               x = newX; 
           }
           public int getY() {
               return y;
           }
           public void setY(int newY) {
               y = newY;
           }
       }


       public class KY4_1 {
           public static void main(String[] args) {
               System.out.println("类变量x="+StaticDemo.getX());
               System.out.println("对象变量y="+StaticDemo.getY());  
               StaticDemo a= new StaticDemo();
               StaticDemo b= new StaticDemo();
               a.setX(1);
               a.setY(2);
               b.setX(3);
               b.setY(4);
               System.out.println("类变量a.x="+a.getX());
               System.out.println("对象变量a.y="+a.getY());
               System.out.println("类变量b.x="+b.getX());
               System.out.println("对象变量b.y="+b.getY());
           }
       }
程序出错,对面的实例变量和实例方法不能直接通过类名访问,要使程序能正确运行可删除代码行System.out.println("对象变量y="+StaticDemo.getY());或者将StaticDemo类中的实例变量和实例方法都加上修饰词static使它们成为类变量和类方法,程序正确运行结果截图:
 


     (二)方法中参数传递的练习
      1.编写一个程序文件KY4_2.java。程序功能如下:有一个主方法main() 以及一个求平方和的方法int
        square(int x, int y)。square方法计算参数x 和y的平方和,并返回该平方和值。在主方法main
        中定义两个整型变量,并给它们赋一个初值,然后使用这两个变量作为实际参数来调用square方法,
        求出平方和,最后输出平方和。
        程序源代码:
        package ch4;


        public class KY4_2 {
       static int square(int x,int y){
   return (x*x+y*y);
       }


       public static void main(String[] args) {
       // TODO Auto-generated method stub


       int x;
       int y;
       x=3;
       y=4;
       System.out.println(square(x,y));
       }


        }
     程序运行结果截图:
 


(三)类的继承性练习
1.编写两个程序文件KY4_3.java和KY4_4.java,实现类的继承。KY4_3定义成员变量xm(姓名),xh(学号),定义方法print()输出姓名和学号。子类KY4_4继承父类 KY4_3,其不仅具有父类的成员变量 xm(姓名)、xh(学号),还定义了新的成员变量 xy(学院)、xi(系)。在子类KY4_4中重写了父类的方法print(),在该方法中不仅输出学生的姓名和学号,而且还输出学生的学院和系。另外,在子类KY4_4中还定义了一个主方法main。首先,在主方法中创建一个父类 KY4_3的对象f,设置f的姓名为"帅零",学号为"12321",并且调用print()方法输出对象f的姓名和学号。接着,在主方法中创建一个子类 KY4_4的对象s,设置s的姓名为"郭娜",学号为"12345",学院为"经济管理学院",系为"信息管理系",并且调用print()方法输出对象s的姓名,学号,学院和系。
        程序源代码:
        KY4_3.java:
        package ch4;


        public class KY4_3 
        { 
            protected String xm;                     //姓名 
            protected int xh;                        //学号
            void setdata(String m,int h)              //该方法为姓名和学号赋初始值 
            { 
                xm =m; 
                xh = h; 
            } 
            public void print()          //输出学生的姓名和学号 
            { 
                System.out.println(xm+", "+xh); 
            } 
        }
     
        KY4_4.java:
        package ch4;


        public class KY4_4 extends KY4_3{


       String xy;
       String xi;
       public void print(){
       System.out.println(xm+", "+xh+", "+xy+", "+xi);
            }
       public static void main(String[] args) {
       // TODO Auto-generated method stub
       KY4_3 f=new KY4_3();
       KY4_4 s=new KY4_4();
       f.xm="帅零";
       f.xh=12321;
                f.print();
       s.xm="郭娜";
       s.xh=12345;
       s.xy="经济管理学院";
       s.xi="信息管理系";
       s.print();

       }


        }
        程序运行结果截图:
      


(四)思考题:说明类的继承和多态都有什么作用?
      答:继承可以减少代码的书写量,实现代码复用,子类可以在已有的基础上进行修改和扩展从而实现   的特定功能;多态性就是指父类的某个方法被其子类重写时,可以各自产生自己的功能行为,多态的作用就是消除类型之间的耦合耦合关系。
四、心得体会:
用static修饰的变量称为类变量,当类中有类变量时,同new运算符创建的多个对象共享这个变量,且可以通过类名直接访问这个变量,用static修饰的方法称为类方法,在类方法被加载到内存时就分配的相应的入口地址,从而类方法可以被类创建的任何对象调用执行,也可以通过类名调用。如果一个子类继承了父类,若他们在一个包中,子类就可以调用父类中不是private的成员变量和方法,同时子类还能在继承的基础上进行扩展,新增自己的变量和方法,也可以重写从父类继承的方法。
实验1 Java语言基础 4 一、实验目的 4 二、实验要求 4 三、实验内容 4 (一) 声明不同数据类型的变量 4 (二) 了解变量的使用范围 5 (三) 使用关系运算符和逻辑运算符 5 (四) 使用表达式语句与复合语句 6 (五) 使用选择语句 6 (六) 使用循环语句 8 实验2 面向对象编程 11 一、实验目的 11 二、实验要求 11 三、实验内容 11 (一)创建 Applet 应用小程序 11 (二)创建对象并使用对象 12 (三)编写显示当前日期和时间的程序 13 (四)使用修饰符 14 (五)方法中参数传递 15 (六)类的继承性 16 (七)类的多态性 18 实验3 包、接口与异常处理 22 一、实验目的 22 二、实验要求 22 三、实验内容 22 (一)了解并使用 Java 的系统包 22 (二)创建并使用自定义包 22 (三)使用接口技术 24 (四)了解异常处理机制 25 实验4 常用系统类的使用 27 一、实验目的 27 二、实验要求 27 三、实验内容 27 (一)了解 Applet 的生命周期 27 (二)使用数学函数类 28 (三)使用日期类 29 实验5 建立图形用户界面 32 一、实验目的 32 二、实验要求 32 三、实验内容 32 (一)创建图形用户界面 32 (二)了解事件处理机制 34 (三)建立独立运行的窗口界面并使用匿名类 36 (四)使用 Swing 组件 39 (五)使用自定义对话框与内部类 41 实验6 图形处理 44 一、实验目的 44 二、实验要求 44 三、实验内容 44 (一)使用图形类 Graphics 44 实验7图形处理(二) 47 一、实验目的 47 二、实验要求 47 三、实验内容 47 (一)幻灯机效果——连续显示多幅图像 47 (二)使用滚动条改变背景颜色 48 (三)Applet 与 Application 合并运行 49 (四)创建电闪雷鸣的动画 50 实验8 流与文件 53 一、实验目的 53 二、实验要求 53 三、实验内容 53 (一)使用标准数据流的应用程序 53 (二)使用文件输入输出流的应用程序 54 (三)使用随机文件类的应用程序 54 (四)使用数据输入输出流与文件输入输出流类的应用程序 55 (五)使用对象输入输出流的应用程序 56 实验9 线程 58 一、实验目的 58 二、实验要求 58 三、实验内容 58 (一)Thread子类的方法实现多线程 58 (二)实现Runnable接口的方法实现多线程 59 实验10 数据库的连接:JDBC 61 一、实验目的 61 二、实验要求 61 三、实验内容 61 (一)配置ODBC数据源 61 (二)编写程序,按照下表的结构建立"student"表 61 (三)编写程序,完成填写功能 62 (四)编写程序,完成查询功能 62
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值