简述抽象类和接口、抽象类区别的区别

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。简述抽象类和接口、抽象类区别的区别,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

什么是抽象类

用abstract修饰的类叫抽象类
1、抽象类不能有对象,抽象类不能实例化,不能new
2、abstract修饰的方法为抽象方法,这种方法不能有方法体(什么内容都没有)
3、抽象类不能有对象,不能new对象
4、有抽象方法的一定是抽象类,抽象类中不一定有抽象方法
5、抽象类型中的抽象方法必须在子类中被重写

抽象类不能被实例化,抽象方法必须被重写,定义它们是干嘛?

抽象类是用来被继承的,如果没有类去继承它,也就失去了意义;抽象方法生来就是被重写的,必须被重写。(只要继承了某个抽象类,就必须去重写此类中的抽象方法)

public abstract class Animal{
	public abstract void eat();
	public abstract void sleep();

}

定义了一个叫Animal的抽象类含有两个抽象方法,抽象方法后面也不能带大括号。
之后定义一个Cat类

public class Cat extends Animal{
 
	@Override
	public void eat() {
		System.out.println("猫吃鱼");
		
	}
 
	@Override
	public void sleep() {
		System.out.println("猫睡觉!");
		
	}
	
}

在这里指的注意的是:当一个类继承抽象类的时候,这个类必须去重写所继承的抽象类的抽象方法

什么是接口

接口是对抽象类的进一步抽象
接口就是某个事物对外提供的一些功能的声明,通过interface关键字完成
注:
1、接口中所有的属性默认为:public static final。。。;
2、接口中所有的方法默认为:public abstract。。。;
3、接口不需要像类一样被继承,而是用implements去实现,类和接口的关系叫实现。

public class Cat implements Sleep,Eat{
 
	@Override
	public void ioSleep(int i) {
		System.out.println("我是猫,我每天都不用睡觉!!!");
	}
 
	@Override
	public void ioEat() {
		System.out.println("我是猫,我吃猫粮!!!");
	}
}
public interface Sleep {
	public static int a = 1;
	public static int b = 2;
	public void ioSleep(int i);
 
}

public interface Eat {
	public abstract void ioEat();
}

抽象类和接口区别

1、实现方法:
抽象类中可以有已经实现的方法,因为存在抽象方法,所以必须是抽象类

接口中只能包含抽象方法,抽象方法是没有被实现的,只能被重写
2、子类使用的关键词不一样
抽象类使用extends来继承,抽象类就是用来被继承的,所包含的抽象方法也需要被重写

接口使用implement关键字来实现,提供接口中所有声明方法的实现
(抽象类是将梦想传给家族,一代一代去完成。那么接口就是掌门人找大师兄来完成帮派的鸿星伟业,这时候就只有一次希望,要么有能力就实现,没能力就不要接。)
3、是否有构造器(构造函数)
抽象类是类,所有有类的所有特性,是不能被实例化,但可以有构造器

接口是不能有构造器的,是所包含的所有抽象方法的集合
4、修饰符
抽象类可以有public、protected、default这些修饰符

接口只有一个修饰符public
5、运行速度
抽象方法快

接口运行满,需要时间寻找在类中实现的方法
6、继承实现
抽象类中一个子类只能继承一个父类但是可以有多个接口

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/152902.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!