作者LaPass (LaPass)
看板java
标题Re: [问题] static & private
时间Thu Aug 4 00:01:18 2011
养成良好习惯
随时随地加上 this 或是 物件名称
可以让自己比较了解这个东西的观念
也能让自己知道自己正在用什麽东西
我也是
刚从C#跳槽过来的Java新手,大家一起来努力学习 ^^"
http://ppt.cc/zFR5
简单来讲
前面没加 static 的栏位、方法
你可以把它当成像是一个「模子」
要使用时,必须先从先用模子制造出一个实际存在的东西後,才能使用
物件 新物件 = new 物件();
↑
像这样用「物件」这个模子去制造出一个「新物件」
之後才能
新物件.动态方法();
新物件.动态栏位;
去使用这个东西
反过来说,前面有加static 的栏位、方法
就把它当成是「公布栏」那样的东西
每个人都去贴公告、涂鸦,而且看的、摸到的都是同一个公布栏
不管是哪个物件、哪个一个方法,甚至是外部其他的class
只要用
物件.静态栏位;
物件.静态方法();
使用到的都是同一个栏位、方法。
※ 引述《ctr1 (【积π】)》之铭言:
: public class FirstSample{
: static int a;
: private int b; //前面没有static
: private void counter(){
: int z;
: z=12;
: System.out.println("b="+b); //那这行为什麽可以执行
: }
: public static void main (String args[]){ //因为这个字
: int i=1,x=2;
: System.out.println("i="+i);
: System.out.println("x="+x);
: System.out.println("b="+b); //不能执行
: System.out.println("a="+a);
: FirstSample abc=new FirstSample();
: abc.counter();
: }
: }
: 第13行不能执行,第7行为什麽可以执行?
: 书上的解释还是不清楚,我是个新手 Q_Q
: 请板上的前辈帮我解答
: 感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.233.157.84
1F:→ KarlJhan:为什麽不试着从complier的行为去解释@@? 08/04 06:24
2F:→ LaPass:因为在学语法的时候,我根本不会想去知道底层到底在干什麽 08/04 07:56
3F:→ LaPass:虽然,写程式写久後,多多少少也会知道底层在干什麽。 08/04 07:59
4F:→ LaPass:但学写程式时,我觉得先能够写东西来比较重要。 08/04 08:02
5F:→ KarlJhan:多少还是得了解一点,不然真的有人能听的懂 静态、动态? 08/04 08:10
6F:→ Aussie0117:同意楼上说法....应该以compiler的角度去说明会比较好 08/05 22:07
7F:推 a1234957:多少还是要了解JVM怎麽运作的 08/06 00:49
8F:推 a1234957:静态动态真的要以compile期间来说明会比较清楚 08/06 00:52
9F:推 a1234957:建议是这样,不要排斥底层... 08/06 00:59
10F:推 lachtchlee:ppt.cc/zFR5 写 class 物件{ 观念错 >>class NAME{ 08/06 20:34
11F:推 lachtchlee:CLASSNAME referenceOfObject = new CLASSNAME(); 08/06 20:38
12F:推 lachtchlee:严格的激怒 才会变成真正的高手 欢迎再reply 08/06 22:51
13F:→ a1234957:一般来说 instance才称为object 08/06 23:57