Java类声明说明

时间:2011-03-15 20:44:42

标签: java oop class

我做了简短的搜索,但并不确定我在问什么。把我的脚浸入Java和OOP。

采取此声明:

SomeClass myClass = new SomeClass();

PHP中的

(这是我最常见的经历),您可以这样做:

$myClass = new SomeClass

那为什么会有区别? SomeClass的“前缀”是什么,在PHP中没有必要。

我是正确的,在第一个例子中,我声明了一个类型为“SomeClass”的类,与声明的方式非常相似:int myInt;

希望这是有道理的。感谢。

编辑也没有尝试进入PHP / Java辩论,只是PHP是我熟悉的语言!

5 个答案:

答案 0 :(得分:3)

简而言之是。

您说您想要一个myClass类型的变量SomeClass,并将其初始化为new SomeClass()

的值

更长的Explination:

你这样做的原因是它允许编译器,IDE和其他任何知道myClassSomeClass的人。

简短示例:

public class SomeClass(){

   public int SomeInt = 0;
   public string SomeString = "";

   public SomeClass(string initialString)
   {
       SomeString = initialString;
   }

   public SomeClass(int initalValue)
   {
      SomeInt = initialValue;
   }
}

现在你可以创建一个SomeClass并做一些事情来初始化它的部分内容。

//Initialize a new instance of SomeClass with someString set to test
SomeClass setSomeString = new SomeClass("test");
//Initialize a new instance of SomeClass with SomeInt set to 4
SomeClass setSomeInt = new SomeClass(4);

或者你可以做     //初始化SomeClass的新实例,然后设置值     SomeClass myClass = new SomeClass();     myClass.SomeInt = 4;     myClass.SomeString = test; 当然这是一个非常简单的例子,但它显示了你在做什么以及你可以用它做什么。

正如所指出的,这被称为静态类型,因为您必须在编译时声明对象类型是什么。 PHP使用动态类型,这意味着它在运行时确定对象的类型。

在Java中;但是,您可以使用var关键字让它动态确定对象类型。

答案 1 :(得分:3)

Java是一种“强类型语言”。 PHP不是。

去搜索那个短语,你将有几个小时的娱乐时间来了解这个有什么好,坏,无所谓。你会发现任何3个人都有5个意见。

答案 2 :(得分:1)

您要声明类型为myClass的新变量SomeClass,然后使用new SomeClass()将该类的新对象与该变量对齐。

也许更清楚的是这样的差异。

// Declares myClass to be of type SomeClass but without initializing it.
SomeClass myClass; 
// Creates a new object of the class SomeClass and asigns it to myClass 
myClass = new SomeClass();

正如bmargulies所说,java是一种强类型语言,你必须在使用它之前声明变量的类型。这允许编译器在编译时进行类型检查,在许多情况下可以防止编程错误。

答案 3 :(得分:0)

该行正在做的是创建SomeClass类型的变量。换句话说,您正在创建SomeClass类的实例,该实例与声明类不同。类声明如下:

public class SomeClass {

}

答案 4 :(得分:0)

不同之处在于Java是静态类型的,而PHP是动态类型的。

这(简而言之)意味着java为了能够在给定对象上调用方法,编译器必须知道对象的类型。它会告诉你是否允许你调用这个方法。

在PHP中,此检查在运行时(稍后)执行,因此不需要编译器(不是有任何检查)来执行任何检查。

相关问题