Java特性之一接口

package java_5_22;
/*
 * @Description: 
 * @Author: Rainbow
 * @version:v1.0
 * @date:2021年5月22日下午2:03:47
 *
 * Java 定义了大量标准类,这些类库通常称为Java API(应用程序接口)。
 * Java API 存放在包中,在包的层次顶部是Java 还包括子包:
 *   java.lang     包含大量的通用类 包含System类,使用println()执行输出时一直在使用它。
 *                 java.lang 很特殊,因为它会自动导入每个Java程序中。
 *   java.io       包含i/o类 input/output 输入/输出。
 *   java.net      包含支持联网的类
 *   java.util     包含大量实用类,包括(Collections Framework)
 *   java.awt      包含支持 Abstract Window Toolkit 
 *  
 * Java编写的所有真实程序都包含在包中,一些程序也可能实现接口,理解包和接口,两个重要的工具。
 * 
 * 接口能够扩展:通过使用继承关键字 extends 一个接口可以继承另一个接口。
 *              扩展接口的语法与继承类的语法一样。
 * 在接口中使用静态方法和私有接口方法
 */
//  1. default 默认接口添加新方法。
interface 	Aninterface{
	public void firstMethod();
	public void secondMethod();
	default void newMethod() {
		System.out.println("new methond!");
	}
} 
 
class Anapple implements Aninterface{
	void firstMethond() {
		System.out.println("first methond!");
	}
	void secondMethond() {
		System.out.println("second methond!");
	}
	@Override
	public void firstMethod() {
		// TODO Auto-generated method stub
		System.out.println("an override firstMethond!");
		
	}
	@Override
	public void secondMethod() {
		// TODO Auto-generated method stub
		System.out.println("an override secondMethond!");
		
	}
}
// 2. multiple inheritance 多重接口
interface one{
	default void first() {
	System.out.println("first !");	
	}
}
interface two{
	default void second() {
		System.out.println("second !");
	}	
}
interface three{
	default void third() {
		System.out.println("third !");
	}
}
class multile_inh implements one,two,three{
	
}

/* 3. 接口能够扩展:一个接口可以继承另一个接口。
 * 扩展接口的语法与继承类的语法一样。当一个类实现继承了其他接口的接口时, 
 * 它必须为在接口继承链中定义的所有的方法提供实现方式,如下例所示:
 */
interface A{
	void meth1();
	void meth2();
}
interface B extends A{
	void meth3();
}
// 实现继承链中的所有方法
class my_class implements B{
	public void meth1() {
		System.out.println("implement meth1() ");
	}
	public void meth2() {
		System.out.println("implement meth2() ");
	}
	public void meth3() {
		System.out.println("implement meth3() ");
	}
}

// 4.在接口中使用静态方法
 interface MYIF{
	int getuserID();
	default int getAdminID() {
		return 1;
	}
	static int getUniversalID() {
		return 0;
	}
}



public class java_API {
	public static void main(String[] args) {
		Anapple IM=new Anapple();
		IM.firstMethond();
		IM.secondMethond();
		IM.newMethod();//default 默认接口。
		System.out.println();
		
		multile_inh MU =new multile_inh();
		MU.first();
		MU.second();
		MU.third();
		System.out.println();
		
		my_class ob=new my_class();
		ob.meth1();
		ob.meth2();
		ob.meth3();
		
	  int UID=MYIF.getUniversalID();//调用该static方法时,接口的实现或示例不是必须的。
//	static 接口方法既不能被实现类继承,也不能被子接口继承。
	}
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值