#接口
###掌握接口语法、接口好处、理解接口与多态、理解抽象类与接口间的区别。
开闭原则:一个好的设计对于扩展来说应该是开放的,对于修改来说应该是关闭的。
接口:在没有继承关系的多个类之间,也能让他们具有共享行为。(在Java里面继承的一种补充)
接口:使用关键字 **interface**表明这是一种与类无关的全新的数据类型( 名字后面记得加 **able**)
访问修饰符只能是public
作用:在没有继承关系的类之间,提供公用的行为。
在接口当中**属性**只能是公共的**静态常量**(就算不写 public static final 关键字,也会默认为公共的静态常量)。
public interface Jiekouming{
public static fianl int A = 100;
int b = 1000;
``构造方法---接口没有构造方法,说明接口不能直接产生对象。
``行为方法:接口里面只能有公共的抽象方法。
``在JDK1.8中,接口可以拥有实现方法,不过要加default关键字。
public abstract void changeOil();
``就算不写public abstract 关键字,也会默认为公共的抽象方法。
void fangFa();
}
####接口作用:
1.在没有继承关系的类之间,提供公用行为。
2.为Java中的类与类之间的单继承提供多实现。
####接口用法:
1.接口可以继承接口关键字 **extends**```(而且是多继承)```
2.类可以实现接口,用**(implemenbts)**关键字:
类实现接口必须实现接口里面的所有抽象方法,否则这个类就是抽象类。
类实现接口是多实现,也就是1个类可以实现多个接口。
接口的引用可以指向实现类的对象,只能看到来自于接口和Object的方法。
#####设计的时候如何区分把那些抽象方法写到父类中,哪些方法写到接口中?
把一个类与生俱来的方法```(没这个方法连这个类都不是)```写到父类当中去,把附属添加的行为写到接口当中去。
最好写多个小接口,让灵活性更高。
一个好的设计程序要达到高内聚(复用),低耦合(分离)。
#####面向接口是面向对象的核心。
####接口与抽象类的区别:
**1.**定义:
抽象类用的关键字:
接口用的关键字:
**2.**
**3.**里面定的东西不一样
抽象类可以定义人意属性。
接口只能定义:公共静态常量。
**4.**抽象类有构造,接口没有构造
**5.**抽象类的抽象方法必须写abstract关键字
接口不用谢,默认了的
**6.**抽象类有实现的方法。
接口1.8以前不行,1.8以后加**default**关键字
####用法:
**1.**抽象类可以被子类继承(单继承);
接口可以被子类继承(多继承),还可以被实现类多实现。
**2.**
###掌握接口语法、接口好处、理解接口与多态、理解抽象类与接口间的区别。
开闭原则:一个好的设计对于扩展来说应该是开放的,对于修改来说应该是关闭的。
接口:在没有继承关系的多个类之间,也能让他们具有共享行为。(在Java里面继承的一种补充)
接口:使用关键字 **interface**表明这是一种与类无关的全新的数据类型( 名字后面记得加 **able**)
访问修饰符只能是public
作用:在没有继承关系的类之间,提供公用的行为。
在接口当中**属性**只能是公共的**静态常量**(就算不写 public static final 关键字,也会默认为公共的静态常量)。
public interface Jiekouming{
public static fianl int A = 100;
int b = 1000;
``构造方法---接口没有构造方法,说明接口不能直接产生对象。
``行为方法:接口里面只能有公共的抽象方法。
``在JDK1.8中,接口可以拥有实现方法,不过要加default关键字。
public abstract void changeOil();
``就算不写public abstract 关键字,也会默认为公共的抽象方法。
void fangFa();
}
####接口作用:
1.在没有继承关系的类之间,提供公用行为。
2.为Java中的类与类之间的单继承提供多实现。
####接口用法:
1.接口可以继承接口关键字 **extends**```(而且是多继承)```
2.类可以实现接口,用**(implemenbts)**关键字:
类实现接口必须实现接口里面的所有抽象方法,否则这个类就是抽象类。
类实现接口是多实现,也就是1个类可以实现多个接口。
接口的引用可以指向实现类的对象,只能看到来自于接口和Object的方法。
#####设计的时候如何区分把那些抽象方法写到父类中,哪些方法写到接口中?
把一个类与生俱来的方法```(没这个方法连这个类都不是)```写到父类当中去,把附属添加的行为写到接口当中去。
最好写多个小接口,让灵活性更高。
一个好的设计程序要达到高内聚(复用),低耦合(分离)。
#####面向接口是面向对象的核心。
####接口与抽象类的区别:
**1.**定义:
抽象类用的关键字:
接口用的关键字:
**2.**
**3.**里面定的东西不一样
抽象类可以定义人意属性。
接口只能定义:公共静态常量。
**4.**抽象类有构造,接口没有构造
**5.**抽象类的抽象方法必须写abstract关键字
接口不用谢,默认了的
**6.**抽象类有实现的方法。
接口1.8以前不行,1.8以后加**default**关键字
####用法:
**1.**抽象类可以被子类继承(单继承);
接口可以被子类继承(多继承),还可以被实现类多实现。
**2.**