java對象問題
在靜態(tài)方法中,通過類名.變量為什么不能訪問(sum方法)?
public?class?HelloWorld?{ ???? ????//?定義靜態(tài)變量score1 ????static?int?score1?=?86; ????//?定義靜態(tài)變量score2 ?????????int?score2?=?92;? ????//?定義靜態(tài)方法sum,計(jì)算成績總分,并返回總分 public???static??int?sum()?{? ??????return?(score1+HelloWorld.score2); } public?static?void?main(String[]?args)?{ ???????? ????????//?調(diào)用靜態(tài)方法sum并接收返回值 int?allScore?=sum(); ???????? System.out.println("總分:"?+?allScore); }
}
2016-07-19
? 題目要求:// 定義靜態(tài)變量score2???? ?static?? int score2 = 92;
如果希望在靜態(tài)方法中調(diào)用非靜態(tài)變量,可以通過創(chuàng)建類的對象,然后通過對象來訪問非靜態(tài)變量。
public?? static? int sum() {
? HelloWorld hello=new HelloWorld();
????? return (score1+hello.score2);
}
2016-07-19
靜態(tài)方法訪問非靜態(tài)成員必須先創(chuàng)建對象,然后通過對象訪問,訪問非靜態(tài)方法也是如此
2016-07-19
public???static??int?sum()?{?
???? HelloWorld hello=new Helloworld();
??????return?(score1+hello.score2);
}
2016-07-19
靜態(tài)方法中可以直接調(diào)用同類中的靜態(tài)成員,但不能直接調(diào)用非靜態(tài)成員。