java实验 修饰符与继承性

一、实验目的:

 

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

 

二、实验环境:

 

  一台配置有java环境,装有eclipse的电脑。

 

三、实验内容:

(写出主要的内容)

(一 实验要求

1. 编写如何使用类及其成员的修饰符的程序。

2. 编写如何通过传递参数来调用方法的程序。

3. 编写体现类的继承性(成员变量、成员方法的继承)的程序。

  (二 使用修饰符

有时需要公开一些变量和方法,有时需要禁止其他对象使用变量和方法,这时可以使用修饰符来实现这个目的。常用的修饰符有:publicprivateprotectedpackagestaticfinalabstract等。

1. 程序功能:通过两个类 StaticDemoKY4_1 说明类变量与对象变量,以及类方法与对象方法的区别。

2. 编写源程序 KY4_1.java,程序源代码如下。

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());

}

}

 

3. 编译并运行程序 KY4_1.java,看看该程序是否有错?如果有错请在实验报告中指出出错的地方,出错的原因,并给出修改意见以及程序正确运行的结果。

答:有错。

 

修改后为:

 

修改后的代码为:

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) {

StaticDemo kk=new StaticDemo();

System.out.println("类变量x="+StaticDemo.getX());

System.out.println("对象变量y="+kk.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());

}

}

(三)方法中参数传递的练习

1. 编写一个程序文件KY4_2.java

2. 程序功能如下:有一个主方法main() 以及一个求平方和的方法int square(int x, int y)square方法计算参数x y的平方和,并返回该平方和值。在主方法main中定义两个整型变量,并给它们赋一个初值,然后使用这两个变量作为实际参数来调用square方法,求出平方和,最后输出平方和。

3. 请将程序KY4_2.java的源代码写在实验报告中。

源代码为:

   public class KY4_2 {

int square(int x,int y)

{

return x*x+y*y;

}

public static void main(String[] args) {

int x=0,y=0;

KY4_2 kk=new KY4_2();

System.out.println("x*x+y*y="+kk.square(4,5));

}

 

}

结果为:

 

(四)类的继承性练习

1. 进一步理解继承的含义

    新类可从现有的类中产生,并保留现有类的成员变量和方法并可根据需要对它们加以修改。新类 还可添加新的变量和方法。这种现象就称为类的继承。

    当建立一个新类时,不必写出全部成员变量和成员方法。只要简单地声明这个类是从一个已定义的类继承下来的,就可以引用被继承类的全部成员。被继承的类称为父类或超类(superclass),这个新类称为子类。

Java 提供了一个庞大的类库让开发人员继承和使用。设计这些类是出于公用的目的,因此,很少有某个类恰恰满足你的需要。你必须设计自己的能处理实际问题的类,如果你设计的这个类仅仅实现了继承,则和父类毫无两样。所以,通常要对子类进行扩展,即添加新的属性和方法。这使得子类要比父类大,但更具特殊性,代表着一组更具体的对象。继承的意义就在于此。

 

2.编写两个程序文件KY4_3.javaKY4_4.java,实现类的继承。

3KY4_3.java的代码如下:

        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);

            }

        }

    4.编译 KY4_3.java,产生类文件 KY4_3.class。注意:暂时不运行程序KY4_3.class

5.编写一个程序文件KY4_4.java。程序功能如下:子类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的姓名,学号,学院和系。

   6.编译并运行程序KY4_4.java。请将KY4_4的源程序以及运行结果写在实验报告中。

注意:父类 KY4_3 与子类 KY4_4要在同一文件夹(路径)内。

答:KY4_4源代码为:

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) {

KY4_3 f=new KY4_3();

f.xm="零帅";

f.xh=12321;

f.print();

KY4_4 s=new KY4_4();

s.xm="郭娜";

s.xh=12345;

s.xy="经济管理学院";

s.xi="信息管理系";

s.print();

}

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验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、付费专栏及课程。

余额充值