Java中的接口类

Java中的接口类主要用于定义行为规范,可以包含抽象方法、静态方法和默认方法。接口类定义使用`interface`关键字,且不能有普通方法、变量。实现接口使用`implements`,一个类可同时实现多个接口,并必须实现接口的所有抽象方法。此外,接口类可以继承多个其他接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java中的接口类.

begin 接口类的简单介绍.

​ 如果一个抽象类中的所有方法都是抽象的,则可以把他定义为接口类。

接口类只能做两个事情:

  1. 在主函数调用接口类的静态方法或者静态常量.

  2. 其他类实现该接口.

    1.接口类定义的规则:

在JDk8.0往后的版本中,接口类不止可以有抽象方法,还可以有静态方法和默认方法,即下面几种

  1. 抽象方法(abstrat).
  2. 静态方法(static).
  3. 默认方法(default).
  4. 静态常量.
  5. 不使用class关键词,而使用interface关键词.

甚至可以这么说,接口类不允许有普通方法、普通变量和静态变量.

接口类不使用class关键词来定义 ,而是使用interface关键词,下面来演示一下:

import java.util.Arrays;
interface Animal{
    public static  String type="Animal";
    default String getType() {
        return type;
    }
    public static void noThing() {
        System.out.println("I'm nothing.");
    }
    void speak();//普通方法会被自动变成public abstract修饰
}

接口的静态方法可以直接用 **类名.方法名 **访问:

public class Kit {
	public static void main(String[] arg) {
		Animal.noThing();//I'm nothing.
	}

2.接口类的实现

实现接口类不用extends关键词,而是用implements关键词,且一个类可以同时实现多个接口,接口名之间用逗号隔开。即需要注意下列几个问题

  1. 一个类可同时实现多个接口.
  2. 实现接口用implements关键词.
  3. 接口的抽象函数在子类中必须都得实现.

下面以Dog类实现接口类Animal为例:

package test;
interface Animal{
	public static  String type="Animal";
	default String getType() {
		return type;
	}
	public static void noThing() {
		System.out.println("I'm nothing.");
	}
	void speak();
}
interface LandAnimal{
	void run(String name);
}
class Dog implements Animal,LandAnimal{
	 public void speak() {
		System.out.println("I'm dog.");
	}
	 public void run(String name) {
		 System.out.println("Dog running.");
	 }
}
public class Kit {
	public static void main(String[] arg) {
		Dog dog=new Dog();
		dog.speak();
		dog.run("Dog");
        /*
        I'm dog.
		Dog running.
        */
	}
}

3.关于接口类的其他方面

  1. 一个接口类可同时继承多个接口类(其他普通类只能有一个直接父类).
  2. 一个普通类可以同时继承普通类和多个接口类

Example One:

package test;
interface Animal{
	public static  String type="Animal";
	default String getType() {
		return type;
	}
	public static void noThing() {
		System.out.println("I'm nothing.");
	}
	void speak();
}
interface LandAnimal{
	void run(String name);
}
interface EndAnimal extends Animal,LandAnimal{
	static void output() {
		System.out.println("This Methon of EndAnimal.");
	}
}
public class Kit {
	public static void main(String[] arg) {
		EndAnimal.output();//This Methon of EndAnimal.
	}
}

Example Two:

package test;
interface Animal{
	public static  String type="Animal";
	default String getType() {
		return type;
	}
	public static void noThing() {
		System.out.println("I'm nothing.");
	}
	void speak();
}
interface LandAnimal{
	void run(String name);
}
interface EndAnimal extends Animal,LandAnimal{
	static void output() {
		System.out.println("This Methon of EndAnimal.");
	}
}
class Dog extends Object implements Animal,LandAnimal{
	 public void speak() {
		System.out.println("I'm dog.");
	}
	 public void run(String name) {
		 System.out.println("Dog running.");
	 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值