Thinking in java中的static问题
本来我对static没有疑问,但是看了Thinking in java中5.4.2节中有这样一个话“在static方法的内部不能调用非静态方法”,这也没什么疑问,但是这句话有个注释:
“这不是完全不可能。如果你传递一个对象的引用到静态方法里(静态方法可以创建其自身对象),然后通过这个引用(和this效果相同),你就可以调用非静态方法和访问非静态数据成员了。”
请各位大牛为小弟解惑啊,如果能编个实际的例子说明注释的问题就更好了,小弟先拜谢了!!
static methodA(ClassD d) {
d.methodDa();
}
也就是换一种方式呗 既然不能够调用静态方法 那就用对象调用属于他的方法
shi_crow是正解!
当然可以的
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("A");
staticMethod(sb);
}
public static String staticMethod(StringBuilder sb){
sb.append(" append in static Method");
return sb.toString();
}
Java code:
public class TestStatic {
static int intStaticValue = 1;
int intNonStaticValue = 2;
public static void displayInt(int number){
System.out.println(number);
}
public static void main(String args[]){
displayInt(intStaticValue);//静态方法引用静态属性
//displayI
相关问答:
我现在想用ssh整合来做一个论坛,但数据库方面不行,我主要不会涉及数据库,不知道发帖表,和回帖表要如何设计和区分。不知道谁有一个简单的思路,来设计这些表。谢谢了。
发帖和回帖用同一张表 。发帖 id user ......
我的开发的平台是Myeclipes6.0 + tomcat5.x + mysql
我所有的编码方式都是用的UTF-8
我只用了Strtus框架
在一个form中如下用的是post的提交方式:
<form class="form" action=&quo ......
import java.io.*;
class FileTest
{
public static void main(String [] args) throws Exception
{
File fDir=new File(File.separator);
String strFile="java源代码测试"+File.separato ......
当知道一个日期,如何把这个日期所在旬的前后两个日期取出
比如输入20090905,就输入20090901 20090910
输出20090901 20090910
取得天数后作一下判断再把这个方法用下void set(int field, int value)
......
我需要在一个for循环里面每循环一次后,暂停n秒钟,再执行下一次循环.我不想用Thread.sleep(n);这个方法,请问还有其他的方法可以实现这个简单要求吗?有简单代码更好,谢谢!
期待好的方法!
我知道的也就是这个了
......