《黑马程序员》java笔记->【03】接口和抽象类的区别
2013-02-04 12:45
363 查看
------- 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(){}
}
相关文章推荐
- 《黑马程序员》java笔记->【03】关于抽象类
- 《黑马程序员》java笔记->【03】没有抽象方法的抽象类
- Java学习笔记-抽象类和接口的区别
- 学习《详细解析Java中抽象类和接口的区别》笔记
- 《黑马程序员》java笔记->售票例子实现Runnable接口创建线程
- 《黑马程序员》java笔记->StringBuffer概述及StringBuilder和数组的区别
- <Java>接口与抽象类,区别以及使用场景
- java 从零开始,学习笔记之基础入门<抽象类_接口_多态>(十三)
- 《黑马程序员》java笔记->【03】关于多态
- java笔记--day09--接口(三)抽象类和接口的区别
- Java学习笔记1:详细解析Java中抽象类和接口的区别
- 《黑马程序员》java笔记->【03】classpath 路径的使用
- 《黑马程序员》java笔记->【03】关于继承与覆盖
- Java学习笔记 --- 抽象类和接口的区别与联系
- Java学习笔记之接口和抽象类的区别,及选择问题,看完之后就懂了。
- 《黑马程序员》java笔记->【03】单例设计模式
- 《黑马程序员》java笔记->【03】关于接口
- 《黑马程序员》java笔记->【03】关于文档
- Java笔记2 面向对象<3>final关键字、抽象类、模板方法模式、接口
- Java学习笔记<1>(抽象类和接口)