• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > php构造方法和java构造方法有什么区别

php构造方法和java构造方法有什么区别

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了php构造方法,java构造方法等相关知识,希望对您有所帮助

区别:1、重写子类构造函数时,PHP不调用父类,而java默认在第一个语句前调用父类构造方法;2、Java允许有多个构造方法,而PHP值允许有一个构造方法;3、Java中的构造方法是必须的,而PHP中的不是。


php构造方法和java构造方法有什么区别


php构造方法和java构造方法有什么区别

早期的PHP是没有面向对象功能的,但是随着PHP发展,从PHP4开始,也加入了面向对象。PHP的面向对象语法是从JAVA演化而来,很多地方类似,但是又发展出自己的特色。以构造函数来说,PHP4中与类同名的函数就被视为构造函数(与JAVA一样),但是PHP5中已经不推荐这种写法了,推荐用__construct来作为构造函数的名称。


1、重写子类构造函数的时候,PHP会不调用父类,JAVA默认在第一个语句前调用父类构造函数

JAVA

class Father{    public Father(){        System.out.println("this is fahter");    }}class Child extends Father{    public Child(){        System.out.println("this is Child");    }}public class Test {    public static void main(String[] args){        Child c = new Child();    }}

输出结果:

this is fahter

this is Child


PHP代码

<?phpclass Father{    public function __construct(){        echo "正在调用Father";    }}class Child extends Father{    public function __construct(){        echo "正在调用Child";    }}$c = new Child();

输出结果:

正在调用Child


2、重载的实现方式

JAVA允许有多个构造函数,参数的类型和顺序各不相同。PHP只允许有一个构造函数,但是允许有默认参数,无法实现重载,但是可以模拟重载效果。

JAVA代码

class Car{    private String _color;    //设置两个构造函数,一个需要参数一个不需要参数    public Car(String color){        this._color = color;    }         public Car(){        this._color = "red";    }         public String getCarColor(){        return this._color;    }}public class TestCar {    public static void main(String[] args){        Car c1 = new Car();        System.out.println(c1.getCarColor());        //打印red                 Car c2 = new Car("black");        System.out.println(c2.getCarColor());        //打印black    }}

PHP代码

<?phpclass Car{    private $_color;    //构造函数带上默认参数    public function __construct($color="red"){        $this->_color = $color;    }    public function getCarColor(){        return $this->_color;    }}$c1 = new Car();echo $c1->getCarColor();//red$c2 = new Car('black');echo $c2->getCarColor();//black

3、JAVA中构造函数是必须的,如果没有构造函数,编译器会自动加上,PHP中则不会。

4、JAVA中父类的构造函数必须在第一句被调用,PHP的话没有这个限制,甚至可以在构造函数最后一句后再调用。

5、可以通过this()调用另一个构造函数,PHP没有类似功能。

class Pen{    private String _color;    public Pen(){             this("red");//必须放在第一行    }         public Pen(String color){        this._color = color;    }}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • PHP中如何使用构造方法和this关键字?如何引入构造方法?
  • php构造方法和java构造方法有什么区别

相关文章

  • vue+flask实现视频合成功能(拖拽上传)
  • PHP实用函数集合
  • Photoshop制作一个漂亮的金色球体图标
  • 做好网站站内链接分配 提高网站百度指日可待
  • dplayer播放器整合苹果CMSV10方法
  • CorelDraw制作金色质感小球教程
  • 详解PHP如何高效导出Excel(CSV)
  • N种使用 CSS 实现三角形的技巧
  • 怎么检查看到mysql的用户名和密码
  • 分享一个CSS和JS合并的WordPress插件

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Apache Log4j 2.17.0已发布!看看解决了什么问题?
    • Phpstudy:80或者3306端口占用解决方案
    • Photoshop设计立体质感的标签式按钮
    • 聊聊valet是否有适合TP5的驱动?
    • 浅谈Angular中elem.scope()、elem.isolateScope和$compile(elem)(scope)中scope的区别
    • PhotoShop设计打造品牌艺术字LOGO效果教程
    • PHP高并发实例详解之解决商品库存超卖问题
    • 教你使用在Homestead中版本管理工具切换PHP版本
    • Nginx怎么增加SSL模块
    • CDR制作圣诞快乐立体字

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有