Java interface接口类的详细介绍

Java interface接口类的详细介绍interface 接口类的详细介绍 特点及使用方法成员方法 和接口类的猫狗案例 interface 类

大家好,欢迎来到IT知识分享网。

接口
接口概念
    .接口就似乎一种公共规范的标准,只要符合规范标准,大家都有的用   例如市面上所有的usb接口都是一样的,就是遵循了那么一种规范
    .java中的接口更多的体现在对行为的抽象
接口的特点
    1.接口用关键字interface表示
        public interface 接口名{}
    2.类接口的实现用implements表示
        public class 类名 interface 接口名{}
    3.接口不能实例化
        接口如何进行实例化呢? 参照多态的方式,通过对实现类对象进行实例化,这叫做接口多态。
        多态的形式:具体类多态,抽象类多态,接口类多态
        多态的前提:有继承关系和实现关系;有方法重写;有(父/接口)类引用指向(子类/实现)类对象
    4.接口的实现类
        要么重写接口中的抽象方法
        要么是抽象实现类
接口的成员特点
    1.成员变量
        只能是常量
        默认修饰符:public static final
   2.构造方法
        接口没有构造方法,因为接口主要是对行为进行抽象的,是没有具体的存在
        一个类如果没有父类,默认继承object类
    3.成员方法
        只能是抽象方法
        默认修饰符 public static 
    4.关于接口中的方法,jdk8 和jdk9 中有一些新特性,以后再讲


以下为接口类的  猫狗案例 分为五个类

1.animal

2.animaldemo

3.cat

4.dog

5.inter接口类


 案例分析

需求:
        .对猫和狗进行训练,他们就可以跳高了,这里加入了调高功能,请采用抽象类和接口类来实现猫狗案例,并在测试类中进行测试
    思路:
      1.定义接口类(jumpping)
        .成员方法:跳高();
        
      2.定义动物类(animal)
        .成员变量:姓名,年龄
        .构造方法:带参,无参
        .成员方法:get/set方法,吃饭();
        
      2.定义猫类(cat)继承动物类,实现跳高接口
        .构造方法:带参,无参
        .成员方法:重写吃饭{},重写跳高{}
        
      3.定义狗类(dog)继承动物类,实现跳高接口
        .构造方法:带参,无参
        .成员方法:重写吃饭{},重写跳高{}
        
      4.定义测试类(animaldemo),写测试代码  
 


 

1.animal

package 接口案例_猫和狗; public abstract class animal { private String name; private int age; //------成员变量------------------------------ public abstract void eat(); //------成员方法------------------------------ / * */ public animal() { } / * @param name * @param age */ public animal(String name, int age) { this.name = name; this.age = age; } //------构造方法------------------------------ / * @return name */ public String getName() { return name; } / * @param name 要设置的 name */ public void setName(String name) { this.name = name; } / * @return age */ public int getAge() { return age; } / * @param age 要设置的 age */ public void setAge(int age) { this.age = age; } //------get/set------------------------------ } 

2.animaldemo

package 接口案例_猫和狗; public class animaldemo { /* 需求: .对猫和狗进行训练,他们就可以跳高了,这里加入了调高功能,请采用抽象类和接口类来实现猫狗案例,并在测试类中进行测试 思路: 1.定义接口类(jumpping) .成员方法:跳高(); 2.定义动物类(animal) .成员变量:姓名,年龄 .构造方法:带参,无参 .成员方法:get/set方法,吃饭(); 2.定义猫类(cat)继承动物类,实现跳高接口 .构造方法:带参,无参 .成员方法:重写吃饭{},重写跳高{} 3.定义狗类(dog)继承动物类,实现跳高接口 .构造方法:带参,无参 .成员方法:重写吃饭{},重写跳高{} 4.定义测试类(animaldemo),写测试代码 */ public static void main(String[] args) { //无参构造方法 猫 inter i = new cat(); i.jummping(); //因为在接口类里面只定义了一个jumping,所以在调用的时候,就只能调用一个jumping animal a = new cat (); a.setAge(5); a.setName("加菲"); System.out.print(a.getAge()+"岁的猫 "+a.getName()+" 喜欢"); a.eat(); ((cat)a).jummping(); // ((cat)a).jummping();这种强制转换能用 //带参构造方法 猫 a = new cat ("及算法",15); System.out.print(a.getAge()+"岁的猫 "+a.getName()+" 喜欢"); a.eat(); //无参构造方法 狗 i = new dog(); i.jummping(); a = new dog (); a.setAge(5); a.setName("旺财"); System.out.print(a.getAge()+"岁的狗 "+a.getName()+" 喜欢"); a.eat(); ((dog)a).jummping(); //带参构造方法 狗 a = new dog ("长白山吊睛白额狗",23); System.out.print(a.getAge()+"岁的狗 "+a.getName()+" 喜欢"); a.eat(); } } 

3.cat

package 接口案例_猫和狗; public class cat extends animal implements inter { @Override public void jummping() { // TODO 自动生成的方法存根 System.out.println("跳了2米"); } @Override public void eat() { // TODO 自动生成的方法存根 System.out.println("吃鱼"); } //-------构造方法--------------------------------- / * */ public cat() { super(); // TODO 自动生成的构造函数存根 } / * @param name * @param age */ public cat(String name, int age) { super(name, age); // TODO 自动生成的构造函数存根 } } 

4.dog

package 接口案例_猫和狗; public class dog extends animal implements inter { @Override public void jummping() { // TODO 自动生成的方法存根 System.out.println("跳了18米"); } @Override public void eat() { // TODO 自动生成的方法存根 System.out.println("吃骨头"); } //--------------构造方法------------- / * */ public dog() { super(); // TODO 自动生成的构造函数存根 } / * @param name * @param age */ public dog(String name, int age) { super(name, age); // TODO 自动生成的构造函数存根 } } 

5.inter接口类

package 接口案例_猫和狗; public interface inter { public abstract void jummping(); } 

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/150786.html

(0)
上一篇 2025-03-17 12:26
下一篇 2025-03-17 12:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信