Java 抽象类的使用 接口的使用, 区别等

来源:互联网 发布:新歌2016网络红歌榜 编辑:程序博客网 时间:2024/05/29 19:03

1.抽象类的定义?

 使用关键字abstract来定义

如:

public  abstract  class  test{

}

1.包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法(有抽象方法,有抽象方法和普通方法,成员变量)

2.如果一个类不包含抽象方法,只是用abstract修饰的话也是抽象类。也就是说抽象类不一定必须含有抽象方法(抽象类不一定有抽象方法)

2.为啥要用抽象类?

抽象类就是为了继承而存在的,如果你定义了一个抽象类,却不去继承它,那么等于白白创建了这个抽象类,因为你不能用它来做任何事情。继承了抽象类,必须实现抽象方法,如不也要设置成抽象类

3.抽象类和普通类的主要有三点区别:

1.抽象方法必须为public或者protected,缺省情况下默认为public

2.抽象类不能用来创建对象

3.继承了抽象类,必须实现抽象方法,如不也要设置成抽象类


4.接口的定义

使用关键字interface

如:

public  interface  interfacename{

}


5.接口定义注意:

1.接口中可以含有 变量和方法

2.接口中的变量会被隐式地指定为public static final变量(并且只能是public static final变量,用private修饰会报编译错误(变量限制)

3.方法会被隐式地指定为public abstract方法且只能是public abstract方法(用其他关键字,比如private、protected、static、 final等修饰会报编译错误)

并且接口中所有的方法不能有具体的实现,也就是说,接口中的方法必须都是抽象方法

6.类实现接口

使用关键字implements

如:
class ClassName implements Interface1,Interface2,[....]{
}
1.可以看出允许一个类遵循多个特定的接口,

2.必须实现所有接口的所有方法


7.接口和抽象类的区别

抽象类                                            接口

使用关键词abstract                                                     使用关键字interface

可以有普通变量                                                           成员变量都是 public  static  final

可以有实现方法,抽象方法                                        方法都是 public  abstract不能有别的

一个类只能继承一个    、                                            可以实现多个接口

可以有构造方法 (有构造方法放不能new)           没有构造方法























0 0