------- android培训、 java培训、期待与您交流! ----------
/**
接口和抽象类的区别:
class
class Demo35
{
public static void main(String[] args)
{
System.out.println("hello world!");
}
}
1:接口的出现降低了耦合性,紧密联系降低了
2:接口的出现提高了扩展性
3:接口就是对外暴露的规则。
举例:笔记本电脑的USB插口。
接口定以后,一方在使用这个接口,另一方负责实现这个接口
所以接口的出现降低了两方的耦合行
//
接口和抽象类的区别:
1:类是用来继承的,只能单继承
接口是用来实现的,可以多实现
2:类中可以定义非抽象内容,直接提供子类使用
接口中只能定义抽象方法,需要子类全部实现
3:类存在着继承关系,是is a 关系
接口的实现关系,是like a 关系
共同点:
他们都是不断抽取而来的
举例:
描述犬。
分类:导盲犬,搜暴犬。
abstract class 犬
{
abstract void 吼叫();
}
abstract class 搜暴
{
abstract void 搜暴();
}
class 搜暴犬 extends 犬,搜暴 //出现错误,类不能多继承
{
}
*/
interface 犬
{
public static abstract void 吼叫();
}
interface 搜暴
{
public static abstract void 搜暴();
}
class 搜暴犬 implements 犬,搜暴
{
public void 吼叫(){}
public void 搜暴(){}
}
犬中有一些吃饭睡觉共性内容而且是不需要抽象的。
所以犬应该用class来定义
抽象类:定义基本功能
接口 :定义扩展功能
abstract class 犬
{
public void eat(){}
public abstract void 吼叫();
}
interface 搜暴able
{
public static abstract void 搜暴():
}
class 搜暴犬 extends 犬 implements 搜暴able
{
public void 吼叫(){}
public void 搜暴(){}
}
class 搜暴猫 extends 猫 implements 搜暴able
{
public void 搜暴(){}
}
//在不同的问题领域中分析问题也有不同
class Student
{
void study()
}
inteface Smoke
{
public static abstract void smoking();
}
class SmokeStudent extends Student implements Smoke
{
public void smoking(){}
}
//烟民中
class SmokeMan
{
void smoke(){}
}
interface Study
{
public static abstract void study();
}
class SmokeStudent extends SmokeMan implements Study
{
public void study(){}
}