我知道几种编程语言。其中大多数是脚本语言,如 lua、perl、JS、ruby 等。
但最近,我开始使用 Java 进行编程,它运行起来很安静。所以我一直在想JS中存在的某个函数。构造函数的原型,也就是。为了进一步理解我的问题到底是什么,我将在 JS 中做一个例子。假设您要创建一个狗的应用程序。
function dog (){
this.property1 = value;
this.propertr2 = value2;
this.propertyN = valueN;
//etc.
}
//now, I will create several instances of the constructor in JS
var snoopy = new dog();
var buddy = new dog();
我知道的关于 JS 的令人敬畏的部分是,您可以使用以下原型关键字动态更改构造函数的信息以及构造函数的所有实例(在 JS 中调用它):
dog.prototype.bark = function () {
console.log("Woof!");
};
并且 THIS 不仅改变了关于构造函数的信息,因此每只用构造函数创建的狗都会知道如何吠叫,它也改变了,所以构造函数的所有实例都获得了原型插入的信息,在这种情况下,教狗如何吠叫。我们可以在下一个示例中看到:
var someOtherDog = new dog ();
someOtherDog.bark(); //output will be: Woof!
snoopy.bark(); //output will also be: Woof!
buddy.bark(); //you guessed it! it will also be: Woof!
因此,使用 JS 中的这个原型关键字,我可以操作构造函数及其实例。现在,我的问题是:
如何在 java 中操作类及其实例?这甚至可能吗?如果是这样; 我应该怎么做才能在java中做类似的事情?
class dog
{
private String hairColor;
public dog ()
{
hairColor = "Brown";
}
public static void main (String args[])
{
dog snoopy = new dog ();
dog buddy = new dog ();
//now, how do I manipulate the class like I did in JS?
}
}