Java 接口的使用

如果一个抽象类的所有方法都是抽象的,则可以将这个类定义接口。
接口是一种特殊的类,由"全局常量""公共的抽象方法"组成,不能包含"普通方法"。
接口是由全局常量和抽象方法组成,接口中除了抽象方法外,还可以有默认方法和静态方法(也叫类方法),
默认方法使用default修饰,静态方法使用static修饰,且这两种方法都"允许有方法体"。

一个接口可以有多个父亲接口,父接口之间使用逗号分隔。

Java使用接口的目的是为了"克服单继承的限制",因为一个类只能有一个父类,
"而一个接口可以同时继承多个父接口。"

接口中的变量默认使用"public static final"进行修饰,即"全局常量"。

接口中定义的方法默认使用"public abstract"进行修饰,即"抽象方法"。

如果接口声明为public,则接口中的变量和方法全部为public。


与抽象类一样,"接口"的使用"必须通过子类",子类通过implements关键字实现接口,
并且子类必须"实现接口中的所有抽象方法"。
需要注意的是,一个类可以同时实现多个接口,多个接口之间需要使用英文逗号(,)分隔。
"接口和接口"之间也是属于"继承的关系",但不同于类的单继承关系,接口与接口是可以多继承的

package sk;
public class texta1 {}	


 interface JK                     /接口名  JK
{

public static final int num=10;	   /静态常量,"public static final"可省略

public abstract void method();   /抽象方法

public static void show()       / 静态方法
{System.out.println("我是静态方法");}

public default void fun()     /默认方法
{System.out.println("我是默认方法");}

}

 
 interface JF                    /接口JF
 {
	 
 }


class  B
{
public int b;	
}


/实现类,可以理解为接口的子类,继承接口要用关键字 implements来修饰
/实现接口必须重写抽象方法,默认方法随便(不需要强制重写)
class P implements JK
{
	public  void method()//子类重写抽象方法
	{System.out.println("我是重写的抽象方法");}
}
  
/实现类还可以"继承一个类的同时实现接口",但继承和实现有先后顺序是先extendsimplements也可以把 继承是看成亲爹而实现是后爹
 class C extends B implements JK
 {
	 public  void method()//子类重写抽象方法
	{System.out.println("我是重写的抽象方法");} 	 
 }

 
 一个类"实现多个接口"
 class A implements JK,JF
 {
	 public  void method()//子类重写抽象方法
	{System.out.println("我是重写的抽象方法");} 	 	 
 }

 
 
"接口与接口"之间的关系,JK1接口"继承"JK接口
 interface JK1 extends  JK
 {
	 
 }




package sk;
public class tasta2 {
	public static void main(String[] args){
		P a= new P();
		System.out.println(a.num) ;         /调用接口中的静态常量   或 " 接口名.静态变量"
		a.method();                            /调用重写后的抽象方法
		a.fun();                             /调用接口的默认方法
		
		/a.show();                     /a不可直接调用,因为show()是接口的"静态方法"/它只属于它存在的接口中,它的调用只能用"接口名.静态方法"来实现。
	     JK.show();
		System.out.println(JK.num);      /调用接口中的静态常量   或  接口名.静态变量
				 
	}
}


在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值