广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php构造方法和java构造方法有什么区别
  • 647
分享到

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

php 2021-01-17 05:01:16 647人浏览 无得
摘要

本文操作环境:windows10系统、PHP7.1版、Dell G3电脑。php构造方法和java构造方法有什么区别早期的PHP是没有面向对象功能的,但是随着PHP发展,从PHP4开始,也加入了面向对象。PHP的面向对象语法是从JAVA演化

本文操作环境:windows10系统、PHP7.1版、Dell G3电脑。

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

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

重写子类构造函数的时候,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
class Father{
    public function __construct(){
        echo "正在调用Father";
    }
}
class Child extends Father{
    public function __construct(){
        echo "正在调用Child";
    }
}
$c = new Child();

输出结果:

正在调用Child

重载的实现方式

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代码

<?php
class 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

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

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

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

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

--结束END--

本文标题: php构造方法和java构造方法有什么区别

本文链接: https://www.lsjlt.com/news/1432.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php构造方法和java构造方法有什么区别
    本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。php构造方法和java构造方法有什么区别早期的PHP是没有面向对象功能的,但是随着PHP发展,从PHP4开始,也加入了面向对象。PHP的面向对象语法是从JAVA演化...
    99+
    2021-01-17
    php
  • php构造方法和java构造方法有哪些区别
    这篇文章主要介绍“php构造方法和java构造方法有哪些区别”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php构造方法和java构造方法有哪些区别”文章能帮助大家解决问题。区别:1、重写子类构造函...
    99+
    2023-06-29
  • java构造方法和成员方法有什么区别
    Java构造方法和成员方法的区别如下: 特殊性质:构造方法是用于创建对象时调用的特殊方法,而成员方法是对象创建后调用的普通方法。...
    99+
    2023-10-24
    java
  • Java中构造器和方法有哪些区别
    小编给大家分享一下Java中构造器和方法有哪些区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!要学习Java,你必须理解构造器。因为构造器可以提供许多特殊的方法,这个对于初学者经常混淆。但是,构造器和方法又有很多重要的区...
    99+
    2023-06-03
  • java构造器 默认构造方法及参数化构造方法
    目录1、构造器1.1 权限修饰符是public 1.2 显示定义构造器1、构造器 构造器也叫构造方法、构造函数,是一种特殊类型的方法,负责类中成员变量(域)的初始化。构造器的用处是在...
    99+
    2022-11-12
  • php构造方法与成员方法的区别是什么
    本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。php构造方法与成员方法的区别是什么php里面的类-----class XX{},通过类的定义,可以使用调用类里面的成员属性和成员方法。对象---一个类就是一个对象,...
    99+
    2016-05-01
    php
  • php构造方法与成员方法的区别有哪些
    本篇内容主要讲解“php构造方法与成员方法的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php构造方法与成员方法的区别有哪些”吧!区别:1、一个类只能有一个构造方法,但是可以有多个成...
    99+
    2023-06-29
  • Java构造方法有什么作用?
    构造方法的作用:即给重要属性赋初始值。 Java构造方法本身并不神秘,通常它只是去完成一些初始化的工作。构造方法本身并不能去创建出一个对象,真正创建对象的是Java平台,构造方法只是...
    99+
    2022-11-13
    Java 构造方法
  • Java构造方法和方法重载有什么特点
    这篇文章主要介绍了Java构造方法和方法重载有什么特点的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java构造方法和方法重载有什么特点文章都会有所收获,下面我们一起来看看吧。类的结构包括 : 成员变量 成员方...
    99+
    2023-06-26
  • Java有参构造方法与无参构造方法(完全理解)
    文章目录 前言有参构造方法无参构造方法定义四个类说明情况(如果还不清晰请看)Lombok的基本使用 前言 遇到了就简单写一下吧,如果能够对你有帮助,点个赞吧。首先清晰明了的了解到有参构造方法与无参构造方法、以及应用,然后实战...
    99+
    2023-08-16
    java intellij-idea 开发语言
  • java方法中的构造方法与普通方法的区别
    普通方法大家肯定都见过,有修饰符修饰的方法可以有返回值,也有的没有返回值。而构造方法呢?举个例子应该很快就懂了,当一个类实例化对象的时候,用到的方法就是构造方法,我们可以看到在一个类里面的构造方法并不是从别的类里面引进来的,而是自己本身就有...
    99+
    2021-03-16
    java入门 java 构造方法 普通方法 区别
  • PHP中__construct()构造方法
    这篇文章将为大家详细讲解有关PHP中__construct()构造方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与...
    99+
    2023-06-14
  • php中的构造方法有什么作用
    今天小编给大家分享一下php中的构造方法有什么作用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在PHP中,构造方法的作用是...
    99+
    2023-06-29
  • Java构造方法和方法重载详解
    目录第一 构造方法的作用第二 构造方法的特点方法重载总结类的结构包括 : 1. 成员变量 2. 成员方法 3. 构造方法 4. 代码块 5. 内部类 第一 构造方法的作用 主要有以下...
    99+
    2022-11-13
  • Java如何构造DSL方法重构
    目录DSL特点小结DSL Domain-specific language: 一种专注于某一领域,仅针对部分表达方式的计算机编程语言。 特点 方法链 Method Chaining功...
    99+
    2022-11-13
  • java构造方法怎么应用
    构造方法在Java中是用于创建对象并初始化对象的特殊方法。构造方法的特点是:1. 构造方法的名称必须与类名一致。2. 构造方法没有返...
    99+
    2023-10-08
    java
  • java怎么定义构造方法
    在Java中,构造方法是一种特殊的方法,用于创建和初始化对象。构造方法的定义和普通方法有所不同,它的名称必须与类名完全相同,且没有返...
    99+
    2023-09-01
    java
  • php构造方法__construct()怎么用
    今天小编给大家分享一下php构造方法__construct()怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。概念构造方...
    99+
    2023-06-30
  • Java构造方法的作用是什么
    这篇文章主要介绍“Java构造方法的作用是什么”,在日常操作中,相信很多人在Java构造方法的作用是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java构造方法的作用是什么”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-04
  • Scala的构造方法是什么
    本篇内容介绍了“Scala的构造方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Scala的构造方法非常灵活(具体怎么个灵活法这里不...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作