Java接口与抽象类

接口

接口是抽象方法的集合,以interface来声明 1.接口中只包含方法的声明,具体实现需要通过实现类来实现 2.接口中的方法默认是抽象的 3.接口中的方法不能和private,static和final共存 4.在接口中可以定义”属性”,可以通过接口的实现类的实例来访问(不推荐),推荐使用接口名.常量,这是一个常量默认是public, static ,final 5.接口可以继承接口(多继承) 6.在**JDK1.8**及以上版本中,可以使用**static**和default来定义和实现静态方法和默认方法
interface Person{
	//静态方法实现
    public static void printArr(int[] arr){
		for(int i = 0; i < arr.length; i++)
			System.out.print(arr[i]+"\t");
	}
    //default默认方法实现
	public default  void learn(){
		System.out.println("我是一个默认实现的方法");
	}
}

使用接口的好处:

  1. 接口定义的是一种标准,可以使我们的代码分层开发,分模块开发。
  2. 降低代码的耦合度,提高代码的可扩展性和可维护性
  3. 接口改进了单继承的局限。

抽象类

抽象类是使用abstract关键字定义的不能实例化的类
1.抽象类可以包含抽象方法和具体方法,其中抽象方法只有方法的声明,没有方法体,具体方法有方法体.
2.构造方法,类方法不能被声明为抽象方法
3.继承抽象类必须实现所有的抽象方法

接口和抽象类的区别:

1.接口是行为的抽象可以有静态方法,抽象方法和默认方法,抽象类中可以有所有方法。
2.接口和抽象类都不能实例化,接口需要类来实现后实例化实现类,抽象类需要类来继承然后实例化子类。
3.抽象类只能单继承,接口可以多继承接口(jdk1.7),接口还可以多实现。
4.接口中的“属性”是public static final类型的,抽象类中的属性跟普通类中的属性没有区别。
5.接口中的方法默认就是抽象的不需要加absract,抽象类中的抽象方法需要加abstract关键字。
posted @ 2025-02-07 10:26  茴香儿  阅读(27)  评论(0)    收藏  举报