黑马程序员——抽象类&接口

来源:互联网 发布:网络金融销售算传销吗 编辑:程序博客网 时间:2024/04/29 04:09

------- android培训、java培训、期待与您交流! ----------

 

 

抽象类的特点:
1,抽象方法一定在抽象类中
2,抽象方法和抽象类都必须被abstract关键字修饰
3, 抽象类不可以用new创建对象,因为调用抽象方法没意义

4,抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用。 如果子类只覆盖了部分的抽象方法,那么该子类还是一个抽象类。
5, 抽象类中可以有抽象方法也可以有非抽象方法
6,抽象类和一般类没有太大的不同:   该如何描述事物,就如何描述事物,只不过该事物出现了一些看不懂得东西。这些不确定的部分,也是该事物的功能,需要明确出现。但是无法定义主体
 7,抽象类比一般类多了个抽象函数,就是在类中可以定义抽象方法; 抽象类不可以实例化。
特殊:抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。

 

模板方法:
    在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去。有该类的子类去实现。

 

抽象关键字abstract不可以和哪些关键字共存?

final
修饰的方法不能被重写。所以它和abstract冲突。

private
私有的,外部直接无法访问。
static
那么这个时候抽象方法就可以可以通过类名调用,但是这样是没有意义的。

 

 

接口(interface)

接口:当一个类中所有的方法都是抽象的时候,可以通过接口表示

接口与类属于同一层次,实际上,接口是一种特殊的抽象类。一个类实现接口,相当于它继承一个抽象类

成员特点:
  1:只有成员变量和成员方法。
  2:成员变量 默认修饰符 public static final
   int X = 20;
   其实是这样的 public static final int X = 20;
  3:成员方法 默认修饰符 public abstract
  void show();
  其实是这样的 public abstract void show();

  

接口解决了java中只能单继承的问题。
  1:类与类:只能是单继承。 extends
  2:接口与接口:可以是单继承,也可以是多继承。 extends
  3:类与接口:可以是单实现,也可以是多实现。 implements

 

接口和抽象类的区别:
 1:抽象类只能被单继承;接口可以被多实现。

2:抽象类中的成员:

成员变量:可以是常量,也可以是变量。
成员方法:可以是抽象的,也可以是非抽象的。
构造方法:虽然不可以创建对象,但是可以给子类实例化用。
    

 接口中的成员:成员变量:只能是常量。默认修饰符 public static final
 成员方法:只能是抽象的。默认修饰符 public abstract

3:抽象类中定义的是体系结构中的共性的内容。
       接口中定义的是体系以外的扩展功能。(传智播客有人抽烟,有人不抽烟问题)

 4:抽象类被继承表示的是:"is a"的关系。
       接口被实现表示的是: "like a"的关系。

0 0
原创粉丝点击