Java 接口(超详解)

接口

什么是接口?
	比抽象类更加抽象的表现形式,就是接口
	
接口的定义格式?
	interface 接口名 {
		
	}
	
	接口不是类

接口的使用格式?
	interface Inter {
	
	}
	
	class Zi implements Inter {
	
	}
	
接口的特点?
	1.接口不能创建对象
	2.一个类想要实现一个接口,要么该类是一个抽象类,要么该类是一个普通类,就必须重写接口中的所有的抽象方法
	
接口的成员特点?
	1.成员变量:
		接口中的所有的变量全部都是自定义常量
		
		默认修饰符:public static final
		
		public static final int i = 1;
		static final int j = 1;
		int x = 1;
	
	2.成员方法:
		接口中的所有的方法都是抽象方法(错误的解释)
		
		默认修饰符:public abstract
		
		public abstract void aaa();
		abstract void bbb();
		public void ccc();
		void ddd();
	
	3.构造方法:
		接口中没有构造方法
		
接口与接口,类与类,接口与类之间的关系?
	类与类:继承关系,单继承,不可以多继承,也可以实现其他的接口
		class Fu {
			public void eat() {
				System.out.println("吃肉");
			}
		}
		
		class Zi extends Fu {
		
		}

	类与接口:实现关系,支持单实现,也可以多实现
		interface Inter {
			
		}
		
		interface Inter1 {
			
		}
		
		class Zi implements Inter, Inter1 {
			
		}
	
	接口与接口:继承关系,支持单继承,也可以多继承
		interface A {
			public abstract void eat();
		}
		
		interface B {
		
		}
		
		interface C extends A, B {
		
		}
		
		class Zi implements C {
			public void eat() {
			
			}
		}
	
我们什么时候使用接口,什么时候使用类(包含抽象类)?
	当两个类之间存在"is a",就要定义类,两个类之间是继承关系
	
	接口是额外扩展的功能,本身该类不具备这个功能,而且还不是"is a"的关系,就需要去实现这样的接口了
	
	举例子:
		abstract class Animal {
			public abstract void eat();
			
			public void drink() {
				System.out.println("喝水");
			}
		}
	
		class Dog extends Animal implement Aircarft {			
			public void play() {
				System.out.println("玩球");
			}
			
			public void swimming() {
				System.out.println("狗刨");
			}
			
			public void fly() {
				System.out.println("上下飞");
			}
		}
		
		class Cat extends Animal implements Aircarft {
			public void sleep() {
				System.out.println("睡觉");
			}
			
			public void fly() {
				System.out.println("斜着飞");
			}
		}
		
		class Pig extends Animal implements Swim, Aircarft {
			public void gong() {
				System.out.println("拱树");
			}
			
			public void swimming() {
				System.out.println("猪刨");
			}
			
			public void fly() {
				System.out.println("横着飞");
			}
		}
		
		interface Swim {
			public abstract void swimming();
		}
		
		interface Aircarft {
			public abstract void fly();
		}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜龙的小博站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值