今天学完IT十八掌第六天java基础课程:
学习内容:
1,接口与抽象类:
interface
----------------------------------------------
1,所有方法都是抽象的
2,属性有public static final修饰,这是默认的,也就是说接口属性是静态常量。
3,接口之间可以多重继承,
4,接口之间是继承关系
5,类和接口之间是实现关系。
6,面向接口编程降低耦合度
抽象类
------------------------------------------------
1.abstract class
2.抽象方法所在的类必须抽象类。
3.抽象类可以没有抽象方法。
接口与抽象类的异同:
同:都是不断抽取出来的抽象的概念
区别1:|--抽象类体现继承关系,一个类只能单继承
|--接口体现实现关系,一个类可以实现多个接口
区别2:|--抽象类是继承,是“is a”关系
|--抽象类是实习那,是“like a”关系
区别3:|--抽象类可以定义非抽象方法,供子类直接使用
|--接口的方法都是抽象的,接口中的成员都有固定修饰符。
2,适配器设计模式
接口中有许多抽象方法,在生产环境当中,我们有时需要的只是固定的几个方法,在实现接口的类中,不仅需要重点覆盖固定的那几个方法,还需要对不关心的抽象方法具体覆盖。这样自导致代码会很臃肿。适配器设计模式就是解决这个问题的,通过建立一个抽象类实现接口,然后只需对接口中的不关心的。抽象方法做简单覆盖操作,保留我们所需要的抽象方法。在创建类时是该类继承抽象类,这时我们只需要。覆盖我们固定使用的那几个抽象方法就行了,节省了代码量。
适配器中文意思:合适配置,电源适配器:将电压从220v适配成手机充电电压5v。
interface USB
{
void gongDian();
void downLoad();
}
abstract DownLoadAdapter implement USB
{
public void gongDian();
}
class NeedDownLoadDemo extends DownLoadAdapter
{
public void downLoad(){...}
}
3,多态
1,某一事物的多种形态
2,对继承的类来讲,使用父类类型引用子类的对象
3,对于接口来说,可以使用接口引用实现该接口的类所创建的对象。
方法可以被子类覆盖,属性不能覆盖。为什么?
属性是资产,容纳数据的地方,函数是行为,不容纳和存储数据,所以函数可以被覆盖,而属性不能。
多态的前提:
1,接口或者继承
2,覆盖(继承可选,接口实现类必须覆盖)
4,内部类
将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类)。
访问特点:
内部类可以直接访问外部类中的成员,包括私有成员。
而外部类要访问内部类中的成员必须要建立内部类的对象。
1,局部内部类
遇到的问题:
1,接口的适配器模式,按钮和监听器知识不熟,串不起来。
虽然适配器设计模式的原理理解了,但是缺乏应用经验
2,多态的成员函数和成员属性编译和运行的引用过程,
总之:成员函数可以被覆盖,成员属性属于类的资产,用来保存数据的,不能被覆盖。
3,内部类调用规则
需要帮助的问题
1,内部类调用规则
2,适配器应用场景
3,按钮和监听器
转载于:https://blog.51cto.com/liubx/1771326