精华内容
下载资源
问答
  • 2022-02-13 13:35:01

    任务描述

    本关任务: 编写一个学校接待方面的程序,招待不同身份的人的食宿问题。

    /**
     * 编写一个学校接待方面的程序,招待不同身份的人的食宿问题
     */
    
    // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
    /********** Begin **********/
    
    // 定义一个接口类 Person
    interface Person{
        // 定义 eat(),实现输出吃饭的功能,无返回值
        public abstract void eat();
        // 定义 sleep(),实现睡觉的功能,无返回值
        public abstract void sleep();
    }
    // 定义一个 Student 类并实现 Person 接口
    class Student implements Person{
        // 实现 eat():输出:“学生去食堂吃饭。”;
        public void eat() {
            System.out.println("学生去食堂吃饭。");
        }
        // 实现 sleep():输出:“学生在宿舍睡觉。”。
        public void sleep() {
            System.out.println("学生在宿舍睡觉。");
        }
    }
    
    // 定义一个 Teacher 类并实现 Person 接口
    class Teacher implements Person{
        // 实现 eat():输出:“老师去教师食堂吃饭。”;
        public void eat() {
            System.out.println("老师去教师食堂吃饭。");
        }
        // 实现 sleep():输出:“老师在学校公寓睡觉。”。
        public void sleep() {
            System.out.println("老师在学校公寓睡觉。");
        }
    }
    /********** End **********/
    

     

    更多相关内容
  • 任务描述 本关任务:编写程序,实现两个数的求和运算比较。 相关知识 ...也是解决 Java 无法使用多继承的一种手段。 接口的定义 Java 接口的定义方式与类基本相同,当声明一个接口时,我们使用

    任务描述

    本关任务:编写程序,实现两个数的求和运算和比较。

    相关知识

    Java 接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

    它是抽象类的延伸,可以看做是纯粹的抽象类,它的所有方法都没有执行体,是由全局常量和公共的抽象方法所组成。也是解决 Java 无法使用多继承的一种手段。

    接口的定义

    Java 接口的定义方式与类基本相同,当声明一个接口时,我们使用 interface 这个关键字,在接口中的所有方法都必须只声明方法标识,而不要去声明具体的方法体,因为具体的方法体的实现是由继承该接口的类来去实现的,因此,接口并不用管具体的实现。接口中的属性默认为 public static Final,一个类实现这个接口必须实现这个接口中定义的所有的抽象方法。

    接口定义的语法格式如下:

     
    
    1. [public] interface interface_name [extends interface1_name[, interface2_name,…]] {
    2. // 接口体,其中可以包含定义常量和声明方法
    3. [public] [static] [final] type constant_name = value; // 定义常量
    4. [public] [abstract] returnType method_name(parameter_list); // 声明方法
    5. }
    • interface_name 表示接口的名称;
    • extends 表示接口的继承关系;
    • interface1_name 表示要继承的接口名称;
    • constant_name 表示变量名称,一般是 static 和 final 型的;
    • returnType 表示方法的返回值类型;
    • parameter_list 表示参数列表,在接口中的方法是没有方法体的。

    注意:一个接口可以有多个直接父接口,但接口只能继承接口,不能继承类。

    例子:

     
    
    1. public interface Test {
    2. // 在接口中定义的任何字段都被 static 和 final 修饰
    3. final int a = 10;
    4. // 方法必须被定义为 public 和 abstract 形式,即使不声明,也将隐式地声明为公有的(public)和抽象的(abstract)。
    5. void display();
    6. }

    一个接口不能够实现另一个接口,但它可以继承多个其他接口。子接口可以对父接口的方法和常量进行重写。

    实现接口

    接口的主要用途就是被实现类实现,一个类可以实现一个或多个接口,继承使用 extends 关键字,实现则使用 implements 关键字。因为一个类可以实现多个接口,这也是 Java 为单继承灵活性不足所作的补充。类实现接口的语法格式如下:

     
    
    1. <public> class <class_name> [extends superclass_name] [implements interface1_name[, interface2_name…]] {
    2. // 主体
    3. }
    • superclass_name:需要继承的父类名称;
    • interface1_name:要实现的接口名称。

    例子:

     
    
    1. // 定义一个动物接口
    2. interface Animal {
    3. public static final int num = 5;
    4. public abstract void eat();
    5. }
    6. // 定义一个猫类,实现动物接口
    7. class Cat implements Animal {
    8. @Override
    9. public void eat() {
    10. System.out.println("猫吃东西");
    11. }
    12. }
    13. public class Test{
    14. public static void main(String[] args) {
    15. Cat cat = new Cat(); // 实例化一个猫对象
    16. cat.eat();
    17. }
    18. }

    执行结果:

     
    
    1. 猫吃东西

    实现接口需要注意以下几点:

    • 实现接口与继承父类相似,一样可以获得所实现接口里定义的常量和方法。如果一个类需要实现多个接口,则多个接口之间以逗号分隔;

    • 一个类可以继承一个父类,并同时实现多个接口,implements 部分必须放在 extends 部分之后;

    • 一个类实现了一个或多个接口之后,这个类必须完全实现这些接口里所定义的全部抽象方法(也就是重写这些抽象方法);否则,该类将保留从父接口那里继承到的抽象方法,该类也必须定义成抽象类。

    接口的特点

    1. Java 接口中的成员变量默认都是 public,static,final 类型的(都可省略),必须被显示初始化,即接口中的成员变量为常量;

    2. Java 接口中的方法默认都是 public,abstract 类型的(都可省略),没有方法体,不能被实例化;

    3. Java 接口中只能包含 public,static,final 类型的成员变量和 public,abstract 类型的成员方法;

    4. 接口中没有构造方法,不能被实例化;

    5. 一个接口不能实现(implements)另一个接口,但它可以继承多个其它的接口;

    6. Java 接口必须通过类来实现它的抽象方法;

    7. 当类实现了某个 Java 接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象类;

    8. 不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例;

    9. 一个类只能继承一个直接的父类,但可以实现多个接口,间接的实现了多继承。

    Java 中接口和继承的区别:

    1. 不同的修饰符修饰(接口:interface),(继承:extends);

    2. 在面向对象编程中可以有多继承!但是只支持接口的多继承,不支持‘继承’的多继承;

    3. 在接口中只能定义全局常量,和抽象方法,而在继承中可以定义属性方法,变量,常量等;

    4. 某个接口被类实现时,在类中一定要实现接口中的抽象方法,而继承想调用哪个方法就调用哪个方法。

    /**
     * 编写程序,实现两个数的求和运算和比较
     */
    
    // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
    /********** Begin **********/
    
    // 定义一个接口类 Compute
    interface Compute{
        // 第一个为 sum(),实现两个数的相加,返回值为 int
        public abstract int sum();
        // 第二个为 max(),比较两个数的大小,携带两个参数,类型为int,返回值为int
        public abstract int max(int a,int b);
    }
    //定义一个公开的 ComputeClass 类并实现 Compute 接口
    public class ComputeClass implements Compute{
        // 有两个属性,分别表示两个数,类型为 int
        int a;
        int b;
        // 有参构造方法
        public ComputeClass(int a,int b){
            this.a = a;
            this.b = b;
        }
        // 实现接口中的求和方法
        public int sum() {
            int s = a + b;
            return s;
        }
        // 实现接口中的获取较大数的方法
        public int max(int a, int b) {
            int max;
            if (a > b){
                max = a;
            }else {
                max = b;
            }
            return max;
        }
    }
    
    /********** End **********/
    

     

    展开全文
  • Java继承和多态之接口

    千次阅读 2020-11-08 16:59:25
    Java继承和多态之接口 题目要求 仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 中实现两个数的求和运算比较,具体要求如下: /** * 编写程序,实现两个数的求和运算比较 */ // 请在下面的Begin-...

    Java继承和多态之接口

    题目要求

    仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 中实现两个数的求和运算和比较,具体要求如下:

    /**
     * 编写程序,实现两个数的求和运算和比较
     */
    
    // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
    /********** Begin **********/
    
    // 定义一个接口类 Compute
    
        // 第一个为 sum(),实现两个数的相加,返回值为 int
    
        // 第二个为 max(),比较两个数的大小,携带两个参数,类型为int,返回值为int
    
    
    // 定义一个公开的 ComputeClass 类并实现 Compute 接口
    
        // 有两个属性,分别表示两个数,类型为 int
    
        // 有参构造方法
    
        // 实现接口中的求和方法
    
        // 实现接口中的获取较大数的方法
    
    /********** End **********/
    
    • 定义一个接口类 Compute,该类实现两个功能,第一个为 sum(),实现两个数的相加,返回值为 int,第二个为 max(),比较两个数的大小,携带两个参数,类型为 int,返回值为 int。
    • 定义一个公开的 ComputeClass 类并实现 Compute 接口,有两个属性,分别表示两个数,类型为 int;
    • 类中定义一个有参构造器,实现接口类的两个方法,两个方法分别返回两数相加之和和两数中的最大值。
    预期输出
    100 和 300 相加结果是:400
    100 比较 300,哪个大:300
    

    完整代码

    /**
     * 编写程序,实现两个数的求和运算和比较
     */
    
    // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
    /********** Begin **********/
    
    // 定义一个接口类 Compute
    interface Compute{
        // 第一个为 sum(),实现两个数的相加,返回值为 int
        public int sum();
        // 第二个为 max(),比较两个数的大小,携带两个参数,类型为int,返回值为int
        public int max(int num1,int num2);
    }
    // 定义一个公开的 ComputeClass 类并实现 Compute 接口
    public class ComputeClass implements Compute{
        // 有两个属性,分别表示两个数,类型为 int
    	public int a;
    	public int b;
        // 有参构造方法
    	public ComputeClass(int a,int b){
    		this.a=a;
    		this.b=b;
    	}
        // 实现接口中的求和方法
    	public int sum(){
    		return a+b;
    	}
        // 实现接口中的获取较大数的方法
    	public int max(int a,int b){
    		if(a<=b){
    			return b;
    		}
    		else{
    			return a;
    		}
    	}
    }
    /********** End **********/
    

    main函数

    public class Demo{
        public static void main(String[] args) {
            ComputeClass calc = new ComputeClass(100, 300);
            System.out.println("100 和 300 相加结果是:" + calc.sum());
            System.out.println("100 比较 300,哪个大:" + calc.max(100, 300));
        }
    }
    

    人的一生,是很短的,短暂的岁月要求我好好领会生活的进程… —— 高尔基

    展开全文
  • 接口基本知识 构造器的使用 通关源码[1] /** * Create By 刘鸿涛 * 2021/12/15 10:44 */ interface Compute { public int sum(); //接口中方法public 可以省略 public int max(int m,int n); //两个参数 } ...

    掌握知识点[1,2]

    • 接口基本知识
    • 构造器的使用

    通关源码[1]

    /**
     * Create By 刘鸿涛
     * 2021/12/15 10:44
     */
    interface Compute {
        public int sum();   //接口中方法public 可以省略
        public int max(int m,int n);    //两个参数
    }
    public class ComputeClass implements Compute{
        int No1,No2;
        public ComputeClass(int a,int b){
            this.No1 = a;
            this.No2 = b;
        }
        public int sum() {
            return No1 + No2;
        }
        public int max(int a, int b) {
            int Max;
            if (a > b) {
                Max = a;
            } else {
                Max = b;
            }
            return Max;
        }
    }
    

    在这里插入图片描述

    通关源码[2]

    /**
     * Create By 刘鸿涛
     * 2021/12/15 10:44
     */
    // 定义一个接口类 Person
    interface Person{
        void eat();
        void sleep();
    }
    class Student implements Person{
        public void eat(){
            System.out.println("学生去食堂吃饭");
        }
        public void sleep(){
            System.out.println("学生在宿舍睡觉");
        }
    }
    class Teacher implements Person{
        public void eat(){
            System.out.println("老师去教师食堂吃饭");
        }
    
        public void sleep(){
            System.out.println("老师在学校公寓睡觉");
        }
    }
    
    

    在这里插入图片描述

    展开全文
  • 仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 中实现两个数的求和运算比较,具体要求如下: 定义一个接口类 Compute,该类实现两个功能,第一个为 sum(),实现两个数的相加,返回值为 int,第二个为 ...
  • 感言 ...抛开一切来说,继承就是在新推出一些功能的时候,需要将之前的代码给再写一遍,调用起来也比较麻烦,这里感觉也是使用到了面向对象的一个思想,将之前用到的代码不给你看,保证了代码的隐
  • 文章目录任务描述测试说明答案 ...定义一个公开的接口类 Person,该类实现两个功能,第一个为 eat(),实现输出吃饭的功能,无返回值,第二个为 sleep(),实现睡觉的功能,无返回值。 定义一个 Student 类并实现 Person
  • 任务描述 编程要求 测试说明 任务描述 本关任务:定义名为 print 的静态方法,携带一个参数,无论该参数是 int 型、double 型还是字符串型,都可以将该参数进行打印。 编程要求 仔细阅读右侧编辑区内给出的代码...
  • 任务描述 编程要求 测试说明 任务描述 本关任务:计算球的表面积。 编程要求 仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。...平台将使用测试集运行你编写的程序代码,若全部的运行结果正确...
  • 头歌实践-Java继承多态

    千次阅读 2021-10-28 19:18:19
    头歌实践作业第1关:练习-Java继承和多态之final关键字第2关:学习-Java继承和多态之对象类型的转换任务描述相关知识向上转型向下转型编程要求第3关:练习-Java继承和多态之方法重载任务描述编程要求第4关:练习-...
  • java 学习笔记——继承,多态,接口继承多态同名异式接口与抽象类抽象类 继承 子类会继承父类所有public类型的实例变量方法,但不会继承父类所有private类型的变量方法。 继承下来的方法可以被覆盖掉,但实例...
  • 详细代码自己找自己敲,以下会不定时更新。一个文件中只能有一个公共类java继承只能是单继承。一个类所以能够调用父类...多态多态具体表现在重写重载多态就是类的多种表现方式比如同名不同参子类重写父类(父...
  • 掌握类的继承、方法重写、super关键字的使用、final关键字、抽象类和接口多态的使用以及异常的处理方式 熟悉面向对象继承和多态的概念
  • 精选文库 PAGE PAGE 2 西 安 邮 电 大 学 计算机学院 课内实验报告 实验名称 继承...通过编程上机实验理解 Java 语言的继承和多态特性掌握变量的隐藏方法的覆盖重载掌握抽象类和接口的使用 二实验要求 1.编写体现类的
  • 第1关:学习-Java继承和多态之子类继承性 任务描述 本关任务:定义一个 Dog 类,继承 Animal 类(Animal 类已经定义),定义自己的性别属性,并定义获取设置性别属性的方法 sleep 方法。 相关知识 继承是 Java ...
  • 西 安 邮 电 大 学 计算机学院 课内实验报告 实验名称 继承多态 专业名称 计算机科学...Java 语言的继承和多态特性 掌握变量的隐藏 方法的覆盖 重载掌握抽象类和接口的使用 二实验要求 1.编写体现类的继承性成员变量
  • 详解java接口继承和多态
  • java继承和多态

    千次阅读 多人点赞 2021-10-08 21:38:20
    继承多态 文章目录继承多态继承多态 继承 多态
  • 文章目录任务描述编程要求测试说明参考答案 任务描述 本关任务:按照动物、宠物、猫...宠物 Pet 为接口,有三个功能:setName()、getName() play(); 蜘蛛类 Spider 继承动物类,重写 eat() 方法; 猫类 Cat 继承
  • Java中的多态体现在一个子类对象(实现类对象)既可以给这个子类(实现类对象)引用变量赋值,又可以给这个子类(实现类对象)的父类(接口)变量赋值。 举个例子,一个Child类,继承与Father类,那么这个Child类的实现类,...
  • 练习-Java继承和多态之综合练习

    千次阅读 2021-06-27 10:51:32
    第1关:练习-Java继承和多态之综合练习 任务描述 编程要求 测试说明 任务描述 本关任务:按照动物、宠物、猫蜘蛛的关系,通过编程实现各自的关系并声明自己的属性方法。 编程要求 仔细阅读右侧编辑区内给...
  • 1.JAVA里没有多继承,一个类能有一个父类。而继承的表现就是多态。一个父类可以有多个子类,而在子类里可以重写父类的方法(例如方法print()),这样每个子类里重写的代码不一样,自然表现形式就不一样。这样用父类...
  • 多态 多态的概念 定义 多态 polymorphism :对象根据所接收的消息而做出动作,同样的消息为不同的对象接收时可导致完全不同的... 即 在程序运行时才把调用方法名与具体方法绑定在一起继承多态接口多态 为何需要多态?
  • [Java] 继承 多态(学习总结)

    千次阅读 2022-01-10 16:47:46
    继承: 1.继承主要表示概念层上的 is-a 的关系 2.什么是继承: 举个例子: 类A(动物) -> 类B(猫) --类A 类B 之间有层级关系 类B 继承 类A 、类B 派生于 类A 、类B 扩展于 类A 类A : 父类 基类 类B : 子类 派生...
  • JAVA中的继承和多态

    2022-04-04 21:33:25
    JAVA中的继承和多态 1.首先,我们先看一段代码 class Parentclass { void pprint() { this.print(); this.print1(0); } void print() { System.out.println("父类:同类型、同名、同参数成员方法!"); } ...
  • Java继承多态接口

    千次阅读 2021-01-31 16:36:57
    Java中的继承和接口 1、用类比引入继承概念 众所周知,Java是一门面向对象的语言。如果我们要设计多种多样的交通工具,比如汽车、火车、飞机,虽然这些工具功能不同、形态不同,但是他们很多的基本功能相同,比如...
  • Java中的多态和接口

    2022-05-07 09:40:57
    3.2、 java中的接口 3.3、 接口特点 4 、接口和抽象类的区别 5、总结 1、多态 1.1 、什么是多态 多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。...
  • Java继承多态

    2022-03-27 07:58:57
    继承(inheritance):它是Java程序设计中的一项核心技术。它的基本思想是可以基于已有的类创建新的类,继承已存在的类就是复用这些类的方法,而且可以增加一些新的方法字段,使类能够适应新的情况。 如何使用...
  • java中的继承和多态

    千次阅读 2021-02-28 16:44:33
    子类继承父类的特征行为,使得子类具有父类的各种属性方法。或子类从父类继承方法,使得子类具有父类相同的行为。特点:在继承关系中,父类更通用、子类更具体。父类具有更一般的特征行为,而子类除了具有父类...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 126,717
精华内容 50,686
关键字:

java继承和多态之接口

java 订阅