猿问

求解,在Java中 fields 和method如何区分?

假如入有个Bar Class。代码里有
...
Bar x = new Bar("Loopy","loop");
String z = Bar.zaza();
x.lala = true;
.....

Bar(String,String); 肯定就是constructor了。
那zaza(); 和 lala 这两个该如何区分哪个是method 那个是fields? 甚至是区分是不是static的?

皈依舞
浏览 235回答 3
3回答

PIPIONE

zaza()是方法,lala是属性,区别有没有(),仅此而已,,static是静态方法的编制,用法就是类不用实例化直接调用这个这个类里面的方法,譬如,Bar.zaza(),就是因为zaza是静态方法,直接调用,而如果zaza不是静态方法,你说的这些先实例化,就是Bar x=new Bar();x.zaza();

Cats萌萌

method:方法,一般调用方法後面是有括号的 Bar.zaza();你说的fields是属性吧,就像x.lala的后面是没有括号的static~~静态的意思stati修饰的属性不需要实例化一个对象就可以使用啊,然后不是static修饰的则必须实例化,就像Bar x = new Bar("Loopy","loop");String z = Bar.zaza();就是实例化后才调用的

慕森卡

method后面带小括号().不管是创建或者调用不可能没有(),而fields是变量,分全局和局部,像你这样x.lala设定的是全局变量,当然应该看该处调的方法中是否声明了该变量
随时随地看视频慕课网APP

相关分类

Java
我要回答