Java类声明解释

标签 java oop class

我确实进行了简短的搜索,但不太确定我在问什么。只是涉足 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/

相关文章:

java - 通过 Spring Integration 将多个文件从不同源复制到不同目的地

java - 读取文件时间太长

java - 如何获取变量的字段名?

java - 如何使这个对象更易于维护?

java - Mahout - 集群 - "naming"集群元素

java - 工厂创建的对象可以有构造函数吗?

scala - 在类构造函数中使用特征方法

C++通过字符串构造类

java - 创建和访问 Vector 类

Java - 为什么这是一个无限循环以及如何修复它?