我明白了吗?

Did I understand it?

我不知道这是不是一种错误的提问方式,因为它实际上是我在另一个 .

中得到的提示的延续

问题是,我想知道静态关键字的作用,我想我明白了。我现在的问题是,我理解正确吗?以及如何创建 "Dogs"?

的实例
class Dog {
static String form /* of all dogs */ =  "Doggy-like";
static int quantity /* of dogs */ = 5;

String colour; /* of a specific dog */
String size; /* of a specific dog */ 

}

class Cat {
static String form /* of all cats */ = "Catty-like";    
static int quantity/* of cats */ = 3;

String colour; /* of a specific cat */
String size; /* of a specific cat */


}

public class Animals {
public static void main(String[] args){
    System.out.println("There are "+Cat.quantity+" cats.");
    System.out.println("There are "+Dog.quantity+" dogs.");
    /* EDIT: */
    Dog Mike = new Dog();
    Dog Pete = new Dog();
    Cat Sushi = new Cat();
    Cat Michael = new Cat();
    Cat Pete = new Cat();
    Dog.Mike.size="Big";
    Dog.Mike.colour="Red";
    Dog.Pete.size="Small";
    Cat.Sushi.size="Small";

    }
}

我也想知道那些皮特猫和狗之间是否存在冲突,以及这样定义它们的尺寸是否正确。在 public class 动物内部或在它们各自的 classes(或另一个 class 动物内部)创建它有什么不同吗?

要创建 Dog 的实例,只需执行

Dog d = new Dog();

在这种情况下,class 的 default constructor 被调用。

是的,您已经在 class 中定义了静态字段,并使用 ClassName.fieldName 在静态上下文中访问它。所以你是对的。

如果你想实例化 Dog,你可以在你的 main 中这样做:

Dog dog = new Dog();

默认情况下,我们得到的构造函数不接受任何 parameter/s。