栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

PHP和Java有什么区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PHP和Java有什么区别?

这不是一个详尽的清单,我是PHP开发人员,前一段时间做过Java之旅,所以做了Caveat Emptor。

Java中的每个变量都必须以数据类型开头。这包括基本类型,例如boolean,int,double和char,以及对象数据类型,例如ArrayList,String和您自己的对象

int  foo    = 36;char bar    = 'b';double baz  = 3.14;String speech = "We hold these truths ...";MyWidget widget = new MyWidget(foo,bar,baz,speech);

每个变量只能包含其类型的值。使用以上声明,以下无效

foo = baz

对象(不是原始类型)上的相等性检查对象的身份。因此,以下内容直观地显示为false。字符串具有相等的方法来处理此问题。

//see comments for more information on what happens //if you use this syntax to declare your strings//String v1 = "foo";//String v2 = "foo";String v1 = new String("foo");String v2 = new String("foo");if(v1 == v2){    println("True");}else{    println("False");}

数组是经典的C数组。只能保存一种特定类型的变量,需要以固定长度创建


为了解决这个问题,有一系列的对象集合,其中一个名为ArrayList,其作用类似于PHP数组(尽管保持一种类型的业务仍然成立)。您不会像语法那样得到数组,所有操作都是通过方法完成的

//creates an array list of stringsArrayList<String> myArr = new ArrayList<String>();myArr.add("My First Item");

ArrayList仍然具有数字键。还有一个称为HashMap的集合,它将为您提供类似于对象的字典(如果您是90年代上学的话,则为关联数组)。


ArrayList和其他集合通过称为泛型()的方式实现。我不是Java程序员,所以我对泛型的了解仅在于它们描述了对象将要运行的事物的类型。还有更多的事情正在发生。


Java没有指针。但是,所有对象实际上都是引用,类似于PHP 5,与PHP 4不同。我不 认为
Java具有(已贬值的)PHP&reference&syntax。


所有方法参数均通过Java中的值传递。但是,由于所有对象实际上都是引用,因此在传递对象时要传递引用的值。这意味着,如果您操纵传递到方法中的对象,则这些操纵将卡住。但是,如果尝试这样的操作,则不会获得预期的结果

public void swapThatWontWork(String v1, String v2){  String temp = var1;  var1 = var2;  var2 = temp;}

值得一提的是,现在需要提到方法需要指定其返回类型,并且如果方法返回了原本不应返回的内容,则会发生不好的事情。以下方法返回一个int

public int fooBarBax(int v1){}

如果方法将引发异常,则必须这样声明它,否则编译器将与它无关。

public int fooBarBax(int v1) throws SomeException,AnotherException{   ...}

如果您使用的方法中没有编写可能会引发异常的对象,这可能会变得棘手。


Java中的主要代码入口点将是类的方法,而不是PHP的主要全局入口点


Java中的变量名不是以符号($)开头的,尽管我认为如果您希望它们可以


Java中的类名区分大小写。


字符串在Java中不可更改,因此串联操作可能是一项昂贵的操作。


Java类库提供了一种实现线程的机制。PHP没有这种机制。


PHP方法(和函数)允许您使用可选参数。在Java中,您需要为每个可能的参数列表定义一个单独的方法

public function inPHP($var1, $var2='foo'){}public void function inJava($var1){    $var2 = "foo";    inJava($var1,$var2);}public void function inJava($var1,$var2){}

当对象调用自己的方法时,PHP要求使用显式$ this。Java(如上例所示)没有。


Java程序通常是通过“程序运行,保持运行,处理请求”的方式构建的,而PHP应用程序是通过“运行,处理请求,停止运行”的方式构建的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/570225.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号