为什么要abstract一个类呢?
解决方案 »
- 高分雪地挥泪跪求获取JFileChooser弹出JDialog的按钮方法
- 多个JTextField用DocumentListener监听,怎么返回触发事件控件引用
- 猜猜关于System.out.println
- javaj基础常见错误总结21个,7-12
- 继续散分!心情好差!散完为止
- 高分求解程序设计问题,有点难,请高手们前来帮忙想想办法
- 哪儿能下到中文JAVA类库
- SwingUtilities.updateComponentTreeUI是干什么的,起什么作用,请详细点,谢谢,给分
- 我想实现让java程序在linux下自动运行,请问应该在rc.local文件中如何输入正确的启动命令?
- java中的lookfeel如何使用
- 一个语法问题
- jdbc 如何设定 connection timeout?
说复杂点,自己看 http://zhidao.baidu.com/question/79867705.html
1.只要有个方法是abstract ,那么该类是abstract 类;
2.abstract 方法在子类中必须有实现;在abstract 类中的abstract 方法只有声明而不能有方法体;
3.abstract 方法在子类中被实现时要加上override关键字;
4.abstract 类方法中非abstract 方法在子类中重写时加上new关键字;接口( interface)
1.只有方法声明,实现类来实现方法;
2.成员变量是static和final的;接口和抽象类(abstract class and interface) 不同点:
1.继承一个抽象类,继承多个接口
2.类里面只要有一个抽象方法,该类就是抽象类;
3.抽象类可以是抽象方法和普通方法,接口中的方法都是声明(只有方法名,没有内部实现),必须被继承者全部实现
应该说扩展性更强,和更体现面向对象!
如果还有猫,鸡,鸭,鱼。只要继承了动物类(他们都属于动物) ,那么他肯定都会有“吃”这个方法,只是每个的动物“吃”的实现方式不一样。 虽然也可以像你说的那样,单独定义狗这个类和“吃”的方法,如果还有猫,鸡,鸭,鱼。要扩展起来会很麻烦,特别随着程序的扩大,你自己的思路都会理不清。 现在这样写,只要是动物(继承了动物)就会有“吃”这个方法
也就是说,抽象类new不出来
通常作为父类,继承他的子类必须重写父类中的抽象方法;
主要起到了规范的作用。