js中prototype的概念是不是和java中类的static关键字是一样的意义?

js中prototype的概念是不是和java中类的static关键字是一样的意义?为什么java中没有实例化也能访问static生命的变量,但是js中prototype还是需要实例化对象之后才能通过对象访问?

阅读 6.9k
1 个回答

正好相反,js中的prototype类似于java中非static的方法/属性,是属于一个类的对象的方法。

而java(以及其他OO语言,如c++、php)中带有static属性的,是类的方法/属性。类的方法/属性当然是不需要实例化就可以访问的,比如说这个Duck类,就算没有实例化,你也能知道所有鸭子都应该有2条腿,但是年龄则只能是某只鸭子的属性。

class Duck 
{
    static int nr_feet = 2;
    int age;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题