java 抽象类和接口的区别。不要贴别人的。谢谢!!!
5个回答
展开全部
接口和抽象类之间的关系:
相同点:(1)接口和抽象了都不能被实例化,它们都位于继承树的顶端,用于被其他的类实现和继承。
(2)接口和抽象类都是可以包含抽象方法的,实现接口或是继承抽象类的普通子类都必须实现这些抽象方法。
不同点: (1)接口只能包含抽象方法,不能包含已经提供实现的方法;抽象类则完全可以包含普通的方法
(2)接口不能定义静态方法;抽象类完全可以定义静态方法。
(3)接口中只能定义静态常量Field,不能定义普通的Field;抽象类既可以定义普通的Field也能定义静态常量Field
(4)接口不能包含构造器;抽象类中可以包含构造器,抽象类中的构造器并不是用于创建对象的,而是让其子类调用这些构造器来完成抽象类的初始化操作。
(5)接口里面不能够包含初始化块;但是抽象类里面则完全可以包含初始化块
(6)一个类最多只能有一个直接父类,包括抽象类;但是一个类可以直接实现多个接口,通过实现多个接口可以弥补Java中的单继承的不足。
相同点:(1)接口和抽象了都不能被实例化,它们都位于继承树的顶端,用于被其他的类实现和继承。
(2)接口和抽象类都是可以包含抽象方法的,实现接口或是继承抽象类的普通子类都必须实现这些抽象方法。
不同点: (1)接口只能包含抽象方法,不能包含已经提供实现的方法;抽象类则完全可以包含普通的方法
(2)接口不能定义静态方法;抽象类完全可以定义静态方法。
(3)接口中只能定义静态常量Field,不能定义普通的Field;抽象类既可以定义普通的Field也能定义静态常量Field
(4)接口不能包含构造器;抽象类中可以包含构造器,抽象类中的构造器并不是用于创建对象的,而是让其子类调用这些构造器来完成抽象类的初始化操作。
(5)接口里面不能够包含初始化块;但是抽象类里面则完全可以包含初始化块
(6)一个类最多只能有一个直接父类,包括抽象类;但是一个类可以直接实现多个接口,通过实现多个接口可以弥补Java中的单继承的不足。
展开全部
抽象类可以只实现某些方法,可以实列化,而接口要实现所有方法(可以是空方法)且不能被实列化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
接口有严格的定义要求,其中的方法只能是public abstract修饰的抽象方法,其中的变量只能是public static final 修饰的常量
而抽象类没有这些要求,我们只要求一个类中如果有抽象方法,那么这个类必须申明为抽象类
另外,没有抽象方法的类也可以声明为abstract,这样做的目的是可以使这个类不能被实例化
而抽象类没有这些要求,我们只要求一个类中如果有抽象方法,那么这个类必须申明为抽象类
另外,没有抽象方法的类也可以声明为abstract,这样做的目的是可以使这个类不能被实例化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
继承一个抽象类,可以重写其抽象方法也可以不重写;但是实现接口的话就必须重写了。
抽象类中可以有抽象方法,也可以有非抽象的方法;接口中只有抽象方法,abstract关键字可以省略。
接口中的属性必须是static final的。
希望我的答案对你有帮助!!
抽象类中可以有抽象方法,也可以有非抽象的方法;接口中只有抽象方法,abstract关键字可以省略。
接口中的属性必须是static final的。
希望我的答案对你有帮助!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
抽象类中的方法可以有具体的实现,接口的不能实现
抽象类可以拥有实例属性 ,接口的只能是静态的常量
继承是重在扩展,而接口重在实现……
抽象类可以拥有实例属性 ,接口的只能是静态的常量
继承是重在扩展,而接口重在实现……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询