java实验四_接口与实现接口的类
- 格式:doc
- 大小:147.50 KB
- 文档页数:7
java接口的定义和实现接口-java实验报告-报告java接口的定义和实现接口-java实验报告定义一个抽象基类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类,这两个类都用getArea()方法计算对象的面积。
编写编写应用程序使用Rectangle类和Circle类。
(2) 定义一个接口ClassName,接口中只有一个抽象方法getClassName()。
设计一个类Horse,该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名。
编写应用程序使用Horse类。
(3) 定义接口myItfc,接口中只有一个名为area的方法,该方法有一个double类型参数,返回类型也为double。
编写一个应用程序,并实现接口myItfc,接口中area方法的实现是返回参数的立方值;在应用程序中调用该方法并输出其结果。
(4) 编写小程序,在小程序窗口中显示字符串“java程序设计”,按下键盘上的箭头键,可按照箭头方向移动(提示:得到键盘键代码的方法是e.getKeyCode(),上、下、左、右键的编码分别用常量VK_UP 、VK_DOWN 、VK_LEFT 、VK_RIGHT 表示)。
2、实验目的与要求⑴多态性。
⑵接口的定义和实现接口。
⑶内部类、匿名内部类对象的的编写和使用。
3、实验步骤与源程序⑴实验步骤a) 编写源代码b) 编译源代码c) 运行程序⑵源代码一, public class UseAbstract{public static void main(String[] args){Shape rec =new Rectangle(3,6);Shape cir = new Circle(6);System.out.println("长方形的面积:"+rec.getArea());System.out.println("圆的面积:"+cir.getArea());}}abstract class Shape{public abstract double getArea();}class Rectangle extends Shape{double d,w;public Rectangle(double d,double w){this.d=d;this.w=w;}public double getArea(){return d*w;}}class Circle extends Shape{double r;public Circle(double r){this.r=r;}public double getArea(){return Math.PI*r*r;}}二,interface ClassName{public abstract void getClassName();}class Horse implements ClassName {public void getClassName(){System.out.println("该类名为:Horse"); }}public class UseInterface{public static void main(String[] args){Horse h =new Horse();h.getClassName();}}三,public class Test{public static void main(String[] args){A a=new A();System.out.println(a.area(5));}}interface myItfc{public double area (double a);}class A implements myItfc{public double area (double a){return a*a*a;}}四.import java.awt.*;import java.applet.*;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;public class AppMove extends Applet implements KeyListener{ int x=200,y=100;public void paint(Graphics g) {g.drawString("Welcome to Java!!", x, y );}public void init(){addKeyListener(this);}public void keyPressed(KeyEvent e){if(e.getKeyCode()==KeyEvent.VK_UP)y-=3;else if(e.getKeyCode()==KeyEvent.VK_DOWN)y+=3;else if(e.getKeyCode()==KeyEvent.VK_LEFT)x-=3;else if(e.getKeyCode()==KeyEvent.VK_RIGHT)x+=3;repaint();}public void keyReleased(KeyEvent e){}public void keyTyped(KeyEvent e){}}4、测试数据与实验结果(可以抓图粘贴)5、结果分析与实验体会通过本次实验了解了JAVA的多态性,相对还是比较简单的358。
实现类实现接口的方法在Java中,接口是一种规范,它定义了一个类应该具备的方法。
而实现接口的类则必须实现接口中定义的所有方法。
为了实现类实现接口的方法,首先需要定义一个接口。
接口中可以定义方法的签名,但不包括方法的实现。
接口中的方法默认是公共的、抽象的和隐式的。
示例代码如下:```javapublic interface MyInterfacevoid method1(; // 方法1的签名void method2(; // 方法2的签名```然后,需要创建一个实现类来实现接口中定义的所有方法。
实现类使用`implements`关键字来实现接口,并且必须实现接口中所有的方法。
示例代码如下:```javapublic class MyImplementingClass implements MyInterfacepublic void method//在这里实现方法1的具体逻辑}public void method//在这里实现方法2的具体逻辑}```在上面的示例中,`MyImplementingClass`实现了`MyInterface`接口,并且实现了接口中定义的两个方法`method1`和`method2`。
在使用实现类时,可以通过接口的引用来创建实例。
示例代码如下:```javaMyInterface myObject = new MyImplementingClass(;```在这里,`myObject`是一个接口类型的变量,它指向了`MyImplementingClass`的一个实例。
通过接口类型的变量访问方法可以调用实现类中重写的方法。
实际开发中,接口的使用非常广泛。
通过使用接口,可以实现一种松耦合的设计,提高代码的可维护性和可扩展性。
接口还可以使代码更易于测试,更易于重构。
总结起来,实现类实现接口的方法,需要先定义一个接口,然后创建一个实现类来实现接口中的所有方法。
在实现类中,重写每个方法,为其提供具体的实现逻辑。
java实验四对象和类(抽象类、接口与包) 实验四对象和类(抽象类、接口与包) 一、实验目的1、熟练掌握抽象类abstract的概念。
2、熟练掌握接口interface的概念。
3、熟练包package的概念以及编译运行的方法。
4、熟练掌握内部类inner class的概念。
5、熟练掌握递归的概念。
6、理解面向对象的程序设计方法。
二、实验内容与要求1(编写求解几何图形(如三角形,矩型,圆,多边型)的周长、面积的应用程序,要求用到继承、多态、抽象类、接口、内部类等面向对象程序设计技术的特点。
程序如下:abstract class Geometric{ //定义抽象类abstract double getPerimter();abstract double getArea(); }interface MY{ //定义接口float getarea();float getperimter();}class sanjiaoxing extends Geometric{ //三角形类继承抽象类private float a;private float b;private float c;sanjiaoxing(float x1,float x2,float x3){a=x1;b=x2;c=x3;}double getPerimter(){return a+b+c;}double getArea(){float p=(a+b+c)/2;return Math.sqrt(p*(p-a)*(p-b)*(p-c));}}class yuanxing extends Geometric{ //圆类继承抽象类private float radius;yuanxing(float a){radius=a;}double getPerimter(){double p;p=2*3.14f*radius;return p;}double getArea(){return 3.14f*radius*radius;}}class juxing implements MY{ //矩形类实现接口private float height;private float width;juxing(float a,float b){height=a;width=b;}public float getperimter(){return 2*(width+height);}public float getarea(){return width*height;}}class abc{public static void main(String args[]){ sanjiaoxing obj1=new sanjiaoxing(3,4,5); System.out.println("当三角形三边是3,4,5时:"); System.out.println("边长是:"+obj1.getPerimter()); System.out.println("面积是:"+obj1.getArea()); yuanxing obj2=new yuanxing(4);System.out.println("当圆的半径是4时:");System.out.println("周长是:"+obj2.getPerimter());System.out.println("面积是:"+obj2.getArea());juxing obj3=new juxing(3,4);System.out.println("当矩形长和宽是3,4时:");System.out.println("周长是:"+obj3.getperimter());System.out.println("面积是:"+obj3.getarea());}}结果如下:, 出现的问题1:需要定义抽象类和接口,并用三角形、矩形和圆形来实现里边定义的方法。
接口与实现接口的类接口是Java编程语言中的一个重要概念。
它定义了一组方法的签名,但没有提供方法的实现。
接口可以被多个类实现,从而使这些类具有相同的行为。
在Java中,使用interface关键字来定义一个接口。
一个接口可以包含常量、方法的声明和默认方法的实现。
接口中的方法默认为public和abstract,不需要显式地声明为public。
接口主要用于实现多态性和代码重用。
接口与抽象类类似,但又有不同之处。
接口中的方法都是抽象的,没有实际的实现。
而抽象类中可以包含具体的方法实现。
一个类可以实现多个接口,但只能继承一个抽象类。
接口的定义示例:```javapublic interface Animalvoid move(;void eat(String food);```上述代码定义了一个Animal接口,有两个方法move和eat。
接口中的方法声明不应包含方法体,只包含方法的签名和返回类型。
实现接口的类被称为实现类。
实现类必须提供接口中定义的所有方法的具体实现。
一个类可以实现多个接口,通过逗号分隔。
实现接口的示例:```javapublic class Dog implements Animalpublic void movSystem.out.println("Dog moves by running.");}public void eat(String food)System.out.println("Dog eats " + food);}```上述代码中的Dog类实现了Animal接口,并提供了move和eat方法的具体实现。
实现类必须实现接口中的所有方法,否则会编译错误。
如果一个类不想实现接口中的一些方法,可以将该类定义为抽象类。
接口的一个重要特性是多态性。
通过接口,可以实现多个具有相同行为的类的对象的通用处理。
这可以极大地提高代码的灵活性和可扩展性。
第1篇一、实验目的1. 理解接口的概念和作用。
2. 掌握接口的基本用法,包括接口的定义、实现和实现类。
3. 通过实际操作,加深对接口的理解和应用。
二、实验环境1. 操作系统:Windows 102. 开发工具:IntelliJ IDEA3. 编程语言:Java三、实验内容1. 接口的基本概念2. 接口的定义与实现3. 接口的多态性4. 接口的应用示例四、实验步骤1. 接口的基本概念(1)打开IntelliJ IDEA,创建一个新的Java项目。
(2)在项目下创建一个包,命名为“com.example”,用于存放实验代码。
(3)在包下创建一个接口,命名为“IAnimal”,用于定义动物的基本行为。
```package com.example;public interface IAnimal {void eat();void sleep();}```2. 接口的定义与实现(1)在“com.example”包下创建一个类,命名为“Dog”,实现“IAnimal”接口。
```package com.example;public class Dog implements IAnimal {@Overridepublic void eat() {System.out.println("狗吃肉");}@Overridepublic void sleep() {System.out.println("狗睡觉");}}```(2)在“com.example”包下创建另一个类,命名为“Cat”,实现“IAnimal”接口。
```package com.example;public class Cat implements IAnimal {@Overridepublic void eat() {System.out.println("猫吃鱼");}@Overridepublic void sleep() {System.out.println("猫睡觉");}}```3. 接口的多态性(1)在主类“Main”中创建一个方法,用于测试接口的多态性。
java接口实验报告实验报告:Java接口实验一、实验目的通过本次实验,我们希望达到以下目的:1. 深入理解Java接口的概念、特点和用途。
2. 掌握如何定义、实现和使用接口。
3. 理解接口在多态性中的作用。
4. 掌握如何使用接口来设计可扩展的代码。
二、实验内容1. 定义一个接口,并实现该接口。
2. 使用接口实现多态性。
3. 通过接口设计可扩展的代码。
三、实验步骤及结果步骤1:定义一个接口首先,我们定义一个名为"Shape"的接口,该接口包含一个计算面积的方法。
```javapublic interface Shape {double getArea();}```步骤2:实现接口接下来,我们创建两个类(Circle和Rectangle),分别实现Shape接口。
每个类都提供了一个计算面积的方法。
Circle类:```javapublic class Circle implements Shape {private double radius;private static final double PI = ;public Circle(double radius) {= radius;}Overridepublic double getArea() {return PI radius radius;}}```Rectangle类:```javapublic class Rectangle implements Shape {private double width;private double height;public Rectangle(double width, double height) {= width;= height;}Overridepublic double getArea() {return width height;}}```步骤3:使用接口实现多态性现在,我们创建一个名为"ShapeDisplay"的类,该类接受一个Shape对象,并使用该对象的getArea方法来计算面积。
Java程序设计实用教程(第4版)习题解答与实验指导叶核亚编著2013年11月目录“Java程序设计”课程教学要求 (1)第1章Java概述 (3)第2章Java语言基础 (5)第3章类的封装、继承和多态 (22)第4章接口、内部类和Java API基础 (37)第5章异常处理 (42)第6章图形用户界面 (44)第7章多线程 (49)第8章输入/输出流和文件操作 (51)“Java程序设计”课程教学要求1. 课程性质、目的和任务程序设计是高等学校计算机学科及电子信息学科各专业本科的核心专业基础课程,是培养学生软件设计能力的重要课程。
在计算机学科的本科教学中,起着非常重要的作用。
“Java程序设计”是计算机科学与技术专业本科的专业基础限选课,开设本课程的目的是:进行程序设计和面向对象方法的基础训练;使用Java编程技术,设计解决操作系统、网络通信、数据库等多种实际问题的应用程序。
本课程通过全面、系统地介绍Java语言的基础知识、运行机制、多种编程方法和技术,使学生理解和掌握面向对象的程序设计方法,理解和掌握网络程序的特点和设计方法,建立起牢固扎实的理论基础,培养综合应用程序的设计能力。
本课程的先修课程包括:C/C++程序设计I、C/C++程序设计II、数据结构、操作系统、计算机网络、数据库原理等。
2. 教学基本要求本课程的基本要求如下。
①了解Java语言特点,理解Java Application应用程序的运行原理和方法。
掌握在JDK 环境中编译和运行程序的操作,熟悉在MyEclipse集成开发环境中,编辑、编译、运行和调试程序的操作。
②掌握Java语言中语句、数组、引用类型等基本语法成分的使用方法,通过类、接口、内嵌类型、包、异常处理等机制表达和实现面向对象程序设计思想。
③掌握Java的多种实用技术,包括图形用户界面、多线程、文件操作和流、使用URL 和Socket进行网络通信等。
④熟悉Java JDBC数据库应用的设计方法。
实验四接口和实现接口的类一、实验目的1.理解接口的作用,理解接口和实现接口的类的关系。
2.掌握声明接口、一个类实现接口的声明和使用方法。
二、实验内容1.学校中有老师和学生两类人,而在职研究生既是老师又是学生,对学生的管理和对教师的管理在他们身上都有体现。
(1)设计两个信息管理接口StudentInterface和TeacherInterface。
其中,StudentInterface接口包括setFee方法和getFee方法,分别用于设置和获取学生的学费;TeacherInterface接口包括setPay方法和getPay方法,分别用于设置和获取教师的工资。
(2)定义一个研究生类Graduate,实现StudentInterface接口和TeacherInterface 接口,它定义的成员变量有name(姓名)、sex(性别)、age(年龄)、fee(每学期学费)、pay(月工资)。
(3)创建一个姓名为"zhangsan"的研究生,统计他的年收入和学费,如果收入减去学费不足2000元,则输出“provide a loan”(需要贷款)信息。
2.火车要装载一批货物和乘客,货物由电视、计算机和洗衣机3种商品组成。
火车需要计算出所装载的货物和乘客的总重量。
要求有一个SetAndGetWeight接口,该接口中有2个方法:public double getWeight();public void setWeight(double weight);有4个实现该接口的类:Television、Computer、WashMachine和People类。
这4个类通过实现接口设置各自对象的自重和获取对象的自重。
有一个Train类,该类用SetAndGetWeight接口类型的数组作为成员,那么该数组的元素就可以存放Television、Computer、WashMachine和People对象的引用。
接口与实现实验报告XXXXXXXX实验报告XXXXXXXXXX系部计算机系班级 XXXX班课程Java语言程序设计姓名 XXXX 学号2XXXXX 日期XXXXXXXXXXX项目接口与实现——评价成绩1.相关知识点接口体中只有常量的声明(没有变量)和抽象方法的声明。
而且接口体中所有的常量的访问权限一定都是public(允许省略public、final修饰符),所有的抽象方法的访问权限一定都是public(允许省略public、final修饰符)。
接口由类去实现以便绑定接口中的方法。
一个类可以实现多个接口,类通过使用关键字implements声明自己实现一个或多个接口。
如果一个非抽象类实现了某个接口,那么这个类必须重写该接口的所有方法。
2.实验目的本实验的目的是让学生掌握类怎样实现接口。
3.实验要求体操比赛计算选手成绩的办法是去掉一个最高分和最低分后再计算平均分,而学校考察一个班级的某科目的考试情况时,是计算全班同学的平均成绩。
Gymnastics类和School类都实现了ComputerAverage接口,但实现的方式不同。
4.程序源代码interface ComputerAverage{public duble average(double x[]);}class Gymnastics implements ComputerAverage {public double average(double x[]);{int count=x.length;double aver=0,temp=0;for(int i=0;i<count;i++){for(int j=0;j<count;j++){if(x[j]<x[i]){temp=x[j];x[j]=x[i];x[i]=temp;}}}for(int i=0;i<count-1;i++){aver=aver+x[i];}if(count>2)aver=aver/(count-2);elseaver=0;return aver;}}class School implements ComputerAverage{public double average(double x[]);{int count=x.length;double aver=0;for(int i=0;i<count;i++){aver=aver/count;return aver;}}}public class Estimastor{public static void main(String args[]){double a[]={9.89,9.88,9.99,9.12,9.69,9.76,8.97};double b[]={89,56,78,90,100,77,56,45,36,79,98};ComputerAverage computer;computer=new Gymnastics();double result= computer.average(a);System.out.printf(“%n”);System.out.printf(“体操选手最后得分:%5.3f﹨n”,result); computer=new school();result=computer.average(b);System.out.printf(“班级考试平均分数:%-5.2f”,result);}}5.运行效果示例程序运行效果:6.实验小结(1)可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口方法。