• 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构造方法有什么区别

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了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构造方法有什么区别

相关文章

  • 2022-04-29vuejs中v-show和v-if的区别是什么
  • 2022-04-29网站文字循环变色代码
  • 2022-04-29jQuery sibling是什么意思
  • 2022-04-29PHP数组去重的5种方法有哪些?
  • 2022-04-29分享封装的一个PHP微信支付的类库(扫码、H5、小程序)
  • 2022-04-29PHP开发api接口验证实例
  • 2022-04-29用PS制作漂亮的立体3D橙色玻璃RSS Icon图标设计教
  • 2022-04-29php中怎么实现ajax提交form表单
  • 2022-04-29一文详解Laravel如何安装inertia vue3的版本
  • 2022-04-29Thinkphp6如何利用ZipArchive打包下载文件

文章分类

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

最近更新的内容

    • Photoshop制作时尚绚丽的3D立体字教程
    • css中&表示什么意思
    • 说说Thinkphp5.1实现邮箱验证问题
    • ThinkPHP5实现图片水印平铺效果
    • 好看短视频解析下载Python脚本
    • vue中query和params的区别是什么
    • jquery怎么判断指定子元素是否存在
    • PS制作质感的立体字
    • PHP如何使用日期时间类Carbon
    • Photoshop制作绚丽的放射光线背景教程

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

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