java静态属性和静态方法,静态属性和动态属性的区别

  java静态属性和静态方法,静态属性和动态属性的区别

  为什么不创建对象就可以调用static?

  在创建对象之前,所有的静态属性或方法都放在元数据区域,静态属性或方法可以通过类名调用。

  例如:

  公共类别Cat{

  公共静态字符串名称;//Static,所有未创建的对象都存在。

  公共字符串颜色;//动态,对于不创建猫的对象,此属性不存在

  }公共类Main{

  公共静态void main(String[] args){

  Cat c=new Cat();

  C.color= black

  C.name=喵喵喵;

  Cat C1=new Cat();

  C1.color= blue

  system . out . println(C1 . name);//更正这是因为name是静态属性

  }

  }在线教学视频分享:java教学视频

  静态属性的特点:这个类下的所有对象都共享这个属性,不创建对象这个属性仍然存在,所以只需要按类修改这个属性(Cat.name="meow ")。

  动态属性只存在于被创建的对象中,这个属性只在对象被创建时存在。

  静态属性和动态属性的区别:

  堆栈能找到对象,那么它能调用元数据区的内容吗?3354可以

  那么可以通过类调用堆的内容吗?3354不能,因为这个过程存在一个确定性和不确定性的问题。

  通过类调用元数据区的内容,因为对象是动态的,静态的东西被调用,静态的东西一旦被调用就能保证存在,静态的东西先于对象存在。从静态调用堆来说是动态的,所以不确定这个动态的东西是否一定存在。

  所以动态可以调用静态,静态不能调用动态。

  公共类别Cat{

  公共静态字符串名称;//Static,所有未创建的对象都存在。

  公共字符串颜色;//动态,对于不创建猫的对象,此属性不存在

  公共目录(){

  }

  public void foo(){

  Color= black//正确

  Name=喵喵喵;//正确,您肯定可以调用静态

  }

  公共静态void测试(){

  Color= black//错误,静态方法不能调用动态属性。

  Name=小喵;//正确

  foo();//动态的不一定存在

  Cat c=new Cat();

  c . foo();//此时可以再次调用。

  }

  }更多相关文章和教程,请访问:java入门。以上是java中静态属性和动态属性区别的详细内容。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: