我确实进行了简短的搜索,但不太确定我在问什么。只是涉足 Java 和 OOP。
接受这个声明:
SomeClass myClass = new SomeClass();
在 PHP 中(这是我最有经验的),你只需要做:
$myClass = new SomeClass
那么为什么不同呢? SomeClass
的“前缀”有什么作用,在 PHP 中它不是必需的。
在第一个示例中,我是否正确,我声明了一个“SomeClass”类型的类,与您声明的方式大致相同:int myInt;
希望这是有道理的。谢谢。
编辑也不是想参加 PHP/Java 辩论,只是说 PHP 是我熟悉的一种语言!
最佳答案
简而言之,是的。
你说你想要一个 SomeClass
类型的变量 myClass
并将它初始化为 new SomeClass()
的值
更长的解释:
你这样做的原因是它让编译器、IDE 和其他任何东西知道 myClass
是一个 SomeClass
。
简短示例:
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 = 测试; 当然,这是一个非常简单的示例,但它显示了您正在做什么以及您可以用它做什么。
正如所指出的那样,这称为静态类型,因为您必须在编译时声明对象类型。 PHP 使用动态类型,这意味着它在运行时确定对象的类型。
在Java中;但是,您可以使用 var
关键字让它动态确定对象类型。
关于Java类声明解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5317814/