简单了解下接口的使用

1.使用接口的好处:通用性,和隔离性

2.定义接口的格式:

  public Interface 接口名{

 }

3.接口的组成部分

a)抽象方法(核心内容)

b)常量

c)静态方法(java8)

d)默认方法(java8)

e)私有方法 (java9)

4.定义一个抽象方法

 public abstract 返回值类型 方法名称(参数类型 参数名称)

a)修饰符 public abstract 也可以省略不写

b)抽象方法不可以写方法大括号

5.接口要想使用一定要有一个实现类。如何实现

 public class 实现类名称  implements 接口名称(){

   //   一定要覆盖重写所有的抽象方法

}

6.什么是重写覆盖抽象方法
 a).将接口当中的抽象方法抄写过来
 b).去掉abstract方法
 c).写上大括号方法体

7.使用用接口和实现类

   接口名称 引用名 =new 实现类名称();

    引用名.抽象方法名

注意:左边是接口类型只能调用接口当中定义好的内容,不能调用右侧实现类中特有的内容(接口隔离)

          当调用接口当中的抽象方法时,真正进行运行的是右侧new的时候的具体的方法

         总结记住一句话,调用的时候看左边运行的时候看右边

面向接口编程:如果使用的的功能,接口已经可以满足,那么就可以不在乎具体的类是谁,只在乎接口就好了

 

8.从java8开始没有接口的实现类,也可以直接使用接口(Lambda表达式)

package com.xgg.itface.test;
/*
 * 接口可以放哪些内容
 * 1.抽象方法
 * 2.常量
 * 3.默认方法  java8
 * 4.静态方法   java8
 * 5.私有方法  java9
 * 
 * 如何定义一个抽象方法
 * public abstract 返回值类型 方法名称(参数类型 参数名称)
 * 
 * 注意
 * 接口中的抽象方法,修饰如果写 必须是 public abstract
 * 接口中的抽象方法,修饰符可以省略不写,默认就是 public abstract
 * 抽象方法只有方法头,不能有方法体大括号
 * 
 * 
 * 如何使用接口和实现类
 * 接口名称 引用名 =new 实现类名称();
 * 引用名.抽象方法名
 * 
 */
public interface DemoInterFace {
	//定义一个常量
	 public static final int num=100;
	 
     public abstract void  eat() ;
     
     String play(String things);
     
}
package com.xgg.itface.test;
/*
 * 如果要使用定义好的接口,必须有一个接口的实现类
 * 定义实现类格式为
 * public class 实现类名称  implements 接口名称(){
 *   一定要覆盖重写所有的抽象方法
 * }
 * 
 * 什么是重写覆盖抽象方法
 * 1.将接口当中的抽象方法抄写过来
 * 2.去掉abstract方法
 * 3.写上大括号方法体
 */
public class DemoPerson implements DemoInterFace{

	@Override//方法重写
	public void eat() {
		System.out.println("今晚吃鸡了啊");
		
	}

	@Override
	public String play(String things) {
		// TODO Auto-generated method stub
		return "今晚玩"+things+"啊";
	}
	
	public void sleep() {
		System.out.println("睡觉");
	}

}
package com.xgg.itface.test;
/*
 * 如何使用接口和实现类
 * 接口名称 引用名 =new 实现类名称();
 * 引用名.抽象方法名
 * 
 * 注意:左边是接口类型只能调用接口当中定义好的内容,不能调用右侧实现类中特有的内容(接口隔离)
 *  当调用接口当中的抽象方法时,真正进行运行的是右侧new的时候的具体的方法
 *  总结记住一句话,调用的时候看左边运行的时候看右边
 *  
 *  
 *  面向接口编程:如果使用的的功能,接口已经可以满足,那么就可以不在乎具体的类是谁,只在乎接口就好了
 */

public class DemoTest {
	public static void main(String[] args) {
		 DemoInterFace di=new DemoPerson();
		 di.eat();
		 String play=di.play("lol");
		 System.out.println(play);
		 
		// di.sleep();错误,无法调用右侧实现专有的方法,只能调用接口的方法,这就是接口的隔离性
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值