抽象 接口 静态

原创 2017年01月03日 16:36:33
抽象
抽象类不能实例化只能被继承
抽象类不一定有抽象方法,有抽象方法的类一定是抽象类
抽象类继承抽象类,目的对抽象类的扩展,不能重写抽象父类的抽象方法
从PHP 5.2开始,PHP不再支持抽象静态方法,继续使用,将导致E_STRICT错误。


不同
1 接口通过implements实现,抽象类通过extends关键字继承;
2 接口中不能有变量(静态或非静态)但可以声明常量,抽象类可以各种类型的数据成员;
3 接口中的方法必须是public,抽象类中可以public protected private(抽象方法除外);
4 一个类可以实现多个接口,但只能继承一个抽象类;
5 接口不能有构造方法,抽象类可以


相同
1 接口中定义的方法和抽象类中的抽象方法子类都必须实现
2 接口中定义的方法和抽象类中的抽象方法都没有方法体


静态的使用
(1)、静态属性不需要实例化即可调用。因为静态属性存放的位置是在类里,调用方法为"类名::属性名";
(2)、静态方法不需要实例化即可调用。同上
(3)、静态方法不能调用非静态属性。因为非静态属性需要实例化后,存放在对象里;
(4)、静态方法可以调用非静态方法,使用 self 关键词。php里,一个方法被self:: 后,它就自动转变为静态方法;

相关文章推荐

JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程.]

类的继承 Java只支持单继承,不允许多重继承  - 一个子类只能有一个父类  - 一个父类可以派生出多个子类    子类继承了父类,就继承了父类的方法和属性。  在子类中,可以使用父...

JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程...]

http://blog.csdn.net/johnstrive/article/details/50601534 版权声明:转载请附链接,就这个要求。 目录...

JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程...]

类的继承Java只支持单继承,不允许多重继承 - 一个子类只能有一个父类 - 一个父类可以派生出多个子类 子类继承了父类,就继承了父类的方法和属性。 在子类中,可以使用父类中定义的方法和属...

由为什么接口中只能定义静态常量引发的接口与抽象类的区别的问答

1、为什么必须是静态的:由于接口不能实例化,非静态成员只能使通过实例调用,所以必须定义为static静态的 2、为什么抽象类也不能被实例化,但抽象类里面可以定义非静态的: 由于子类与抽象类的关系中...

Java--类和接口--常规内部类,静态内部类,局部内部类,匿名内部类,抽象类,接口

内部类   在类内部的类  1.解决多继承  2.解决继承和实现接口时候方法名冲突情况  3.实现数据隐藏    只有内部类可以拥有4种访问修饰符  当内部类为private的时候,有外...
  • zlQQhs
  • zlQQhs
  • 2012年11月30日 12:58
  • 1398

关于Python中如何使用静态、类、抽象方法的权威指南

对于Python中静态、类、抽象方法的使用,我是一直很迷糊的。最近看到一篇技术文章对这方面解释的很好,在此翻译一下,加深印象,也为有需要的同学提供一个方便。       Python中方法是如何工作...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:抽象 接口 静态
举报原因:
原因补充:

(最多只允许输入30个字)