为什么加了static之后不需要创建对象就可以使用?两者之间有什么关联?

public class InitailTelphone {

 public static void main(String[] args) {
//  Telphone phone = new Telphone();
  Telphone.call();
  Telphone.cpu = 5.2f;
  Telphone.mem = 5.6f;
  Telphone.screen = 1.2f;
  Telphone.call();

}

}


public class Telphone {
 //定义类的属性
 static float screen;
 static float cpu;
 static float mem;
 //定义类的方法
 static void call(){
  float cpu = 1.22f;
  System.out.println("screen:"+screen+"   cpu:"+cpu+"   mem:"+mem+"   Telphone有打电话的功能");
 }
 void sendMessage(){
  System.out.println("Telphone有发短信的功能");
 }
}

cyc川
浏览 2905回答 3
3回答

香飘飘丶

static在初始化时就已经分配内存,所以不需要new来分配内存。可以把static理解为一个全局对象,在static中都可以进行调用

是王小二呀

初学者你记住就行,开发过程中你会慢慢了解,如果想了解原理,建议查一下JVM(Hotspot)内存分配原理

慕田峪6141110

ILNQSNRNJGVPYBXUPZWSBQCRUYGWTIROWMPMPXUDHKZWGCLUQTDZVQTFOEHWZBRUXYEZCLOXNCKBRNQAJYWLIRILHLOEHWSWFIRIXNJYGPLNKTHJMPXTWTJLCMUDUQSPXAKZNDFOENQACXNWMPKZIRBRHKXHCZPKHWSPLIKADSIXACYDRGWZIEBDGPYEBQGDZIRTCZVRNQGCSCRMOXFCEUJAXZCTYGWSIXZCEURLAQTCEHXMPZHWFPFBKNPMOMIDBDNVRNIYEOPLBWLORGDBKUJMIYILUKDZOEUCSUDHIWEIEBKMPLHDNJYIKTQFVYIPYNQMDGCYVEJSORGWMCDSCOYARNQGVEUXRHQNWSOYNQSYAKNCYBKTDZUWSOXGIEBXTPEBYUJLWLURGJYVROWSOYANDZJSOETWGAURUJSBYNWGVFHXTPSOKNDSBDGCYBEOEZPTCYUDTWMZCMZIRMISUSBRUSOEODZBRAWNZVYOYHXGIYOHXGPFBKMPLBAWEHDRNEAJZSOJGVEBEOKMBDZOXNQTCYBPSURGJSVEADAPRBXTIXHKATWYBKZIMBXAJSPLUVLORGRPSIXNPYURGWSWYBKTUKTJFNCENQAYGPFBLAQFCMBENWMJYHPYHXTCZWJMBXNJFBKUDZPSJKWMWSLIIPOLZFPOBHEWMFDDMIDWSPIHHYFCBYUAPFOKBLHTMILIKCCILHRFVVREAQFBRIQGJGHQZQZVLUDNIDTPLHKZILNCDZHXFBDSPSHLUKZWMCLHQMPZOKZVEHWSVUETJZIYNJNWSVXEUTDZVIOAMFLRWJIYLVHHQGSFPWEKNCLZFLOMSLSETVLOUSYUBEBTSSIRYUUXXJKZITJMCLHRUJQGCSWSBEAR

慕瓜8317793

static修饰的方法属于整个类共享的,不再是某个对象所特有的,也可以理解为c里面的宏定义的变量。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java