16.接口

概念:

  1. 接口是一种有特殊的抽象类,使用  interface  关键字声名
public inerface 接口名{

}

 


特点:

     1. 接口中所有方法都是公开的抽象方法,

public abstract void 方法();

    2. 接口中所有变量都是全局静态常量(默认public final修饰),全局通用,不能改变

    3.   接口与类关系:实现关系   implements

public void 类名 implements 接口名{

    //重写所有接口方法

}

     4. 接口也有多态性

     5. 不同于类只能单继承,接口支持多实现

public void 类名 implemnents 接口1,接口2{

}

    6. 类实现接口后重写方法的快捷键:

Source -> Override/implement Methods

 


 

 

作用:接口可以把很多不相关的内容进行整合


 

part 1   接口

package practice.p1;
/*
 * 能继承接口的只能是接口
 * 接口和类关系:实现关系 implements
 */

public interface Valuable {   //接口使用interface声明,他不再是类了
	
//	接口中所有的方法都是抽象方法,可以省略掉abstract
//	接口中所有的内容都是公开的,公共的
	
	public abstract void getMoney();
	void getValue();   //可以不写public void
	
//	public void get() {	     接口中所有的方法都是抽象方法,不能有正常方法
		
//	}
	
}
package practice.p1;

public class Gold implements Valuable{  //实现关系
	
	public void getMoney() {   //重写方法
		System.out.println("Gold can change money.");
	}
	public void getValue() {
		System.out.println("Gold is of great value.");
	}

}
package practice.p1;

public class Spot {

	public static void main(String[] args) {
		Valuable g = new Gold();  //接口也有多态性
		g.getMoney();
		g.getValue();
	}

}

 

part 2   接口的多实现

package practice.p1;

public class Animal {  
	
	public void eat() {
		System.out.println("Animal eat");
	}
	
}
package practice.p1;

public interface Protectable {
	
	public void hide();

}
package practice.p1;

//类可以继承一个类,实现多个接口
public class Panda extends Animal implements Valuable,Protectable{

	@Override   //重写(快捷键)
	public void getMoney() {
		System.out.println("Panda can get money");
		
	}

	@Override
	public void getValue() {
		System.out.println("Panda is of value");
		
	}

	@Override
	public void eat() {
		System.out.println("Panda eat bamboo");
		super.eat();
	}

	@Override
	public void hide() {
		System.out.println("Panda should hide");
		
	}
	
	

}

 

part 3 接口变量都是全局静态常量

 

package practice.p1;

public interface Protectable {
	
	int money = 10; //默认为public static final,为常量
}

 

package practice.p1;

public class Spot {

	public static void main(String[] args) {
		
//		Protectable.money=10;   final变量,不能被改写
		System.out.println(Protectable.money);
	}

}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值