【黑马程序员】抽象类与接口(五)
来源:互联网 发布:歼31黑烟 知乎 编辑:程序博客网 时间:2024/06/06 10:00
------------android培训、java培训、期待与您交流! ----------------
抽象类与接口
一、抽象类
①介绍
当多个类中出现相同功能,但是功能的主题不同,这时可以向上抽取,这时只抽取功能的定义,而不抽取功能的主体
②抽象类的特点
I:抽象方法一定在抽象类中
II:抽象方法与抽象类不许用abstract修饰
III:抽象类不可以用new类创建对象,因为调用抽象方法没有意义
IV:抽象类中的抽象方法要被使用,必须有子类覆盖所有的抽象方法之后,建立子类对象调用,如果子类只覆盖了部分方法,
那么该类也为抽象类。因此可以得出结论,只要有抽象方法的类都是抽象类。
用法示例:
//继承抽象类public class AbstractDemo extends Demo{public static void main(String[] args) {//使用匿名对象调用run方法new AbstractDemo().run();}//首先抽象类中的抽象方法@Overridepublic void run() {System.out.println("running");}}//定义抽象类abstract class Demo{//定义抽象方法public abstract void run();}
运行结果为:
running
二、接口
①介绍:
接口可以简单的理解为一个特殊的抽象类,当抽象类中的方法都是抽象的时候,那么可以通过接口的形式来表示。
②class用来定义类,interface用来定义接口
③接口内容的定义形式:
I:接口中常见的成员:常量和抽象方法
II:接口中的成员都有固定的修饰符
常量:public static final
方法:public abstract
注意:接口中的成员都是public的,即使不写修饰符,jvm也回默认的加上上述修饰符
III:接口可以被多实现,也是对多继承不支持的转化形式。
注意:若一个类实现了多个接口,接口中存在相同的方法,则此类只需覆盖该方法一次即可
IV:接口之间可以多继承,但是继承的多个接口之中不能有同名但是返回值类型不同的函数
用法示例:
public class InterfaceDemo implements Demo1,Demo2{public static void main(String[] args) {//建立对象并分别调用接口中的方法InterfaceDemo id = new InterfaceDemo();id.run();id.play();id.fun();}//实现接口Demo2中的方法@Overridepublic void play() {System.out.println("play");}//实现接口demo1和demo2中的共有方法,只需要实现一次@Overridepublic void run() {// TODO Auto-generated method stubSystem.out.println("run");}//实现demo1中的方法@Overridepublic void fun() {// TODO Auto-generated method stubSystem.out.println("fun");}}//创建接口demo1interface Demo1{public abstract void run();public abstract void fun();}//创建接口demo2interface Demo2{public abstract void run();public abstract void play();}
运行结果:
play
fun
------------android培训、java培训、期待与您交流! ----------------
详细请查看:http://edu.csdn.net/heima
- 【黑马程序员】抽象类与接口(五)
- 黑马程序员--抽象类与接口
- 黑马程序员----抽象类、与接口
- 黑马程序员:抽象类与接口
- 黑马程序员_010_抽象类与接口
- 黑马程序员----------------------抽象类与接口
- 黑马程序员_抽象类与接口
- 黑马程序员_抽象类与接口
- 黑马程序员_抽象类与接口
- 黑马程序员 多态,抽象类与接口
- 黑马程序员--抽象类与接口
- 黑马程序员_抽象类与接口
- 黑马程序员 面向对象(下) 抽象类与接口
- 黑马程序员_五、继承、多态、抽象类及接口
- 黑马程序员——基础学习(五)继承、多态、抽象类和接口
- 黑马程序员------------抽象类 接口
- 黑马程序员:抽象类、接口
- 黑马程序员 Java基础<三>---> 抽象类、与接口
- window下Eclipse配置联调hadoop1.0.3集群
- linux系统用户态和内核态及其通信
- Qt常用类
- 创建型--工厂模式
- 改变解决问题的思维(1)
- 【黑马程序员】抽象类与接口(五)
- iOS静态库的编译
- [Oracle]函数,过程,触发器的误删除的恢复
- div中input宽度自适应
- 巧用推荐墙入口,APP轻松盈利
- xcode6支持矢量图
- POJ 2575 Jolly Jumpers(简单题)
- JavaScript实现异步的4种方法
- FAT系列文件系统总结