特点 1) 不能被实例化 这个我考虑很久,查阅了一些资料,个人理解有几点:
空间分配,内存垃圾问题。在实例化对象的时候(new food())会开辟一个堆内存空间,而它没有实现的方法,是个东西,但没用。那就是垃圾。 安全。如果调用未实现的类就会报异常。比如 public abstract class Food{
public void print(){
System.out.println("un_abstract method");
}
public abstract void abstractmethod();
}
假设我们new一个对象出来,Food food = new Food(),那么执行food.abstractmethod呢? 3. 面向对象思想不允许。可能也是最重要的吧。面向对象领域的一切都是对象,抽象在问题领域是没有概念的。在映射到现实社会的模拟,抽象是没有意义的。简单的来说,你实例化一个抽象的东西能干吗,没有实际的意义,违背了面向对象思想。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。