标签:
<span style="color:#000000;">public Constructor02(){}
public Constructor02(int i){}
public Constructor02(int i,int j){}
public Constructor02(float i){}</span><span style="color:#000000;">package jin.feng1;
class Constructor02{
public Constructor02(){}
public Constructor02(int i){}
public Constructor02(int i,int j){}
public Constructor02(float i){}
//void print(int i){ System.out.println("int");}
void print(float i){ System.out.println("float");}
//void print(char i){ System.out.println("char");}
void print(short i){ System.out.println("short");}
void print(double i){ System.out.println("double");}
}
public class Constructor01
{
public static void main(String[] args)
{
Constructor02 constructor02=new Constructor02();
char c='a';
int a=1;
float b=9;
double d=9;
constructor02.print(c);
}
}
//output
float
</span>void f(){}
int f(){return 1;}
调用的时候f(),则编译器不知道该调用哪个方法。所以用返回值区分是行不通的。package jin.feng1;
class Banana{
void print(){}
void peel(int i){
print();//直接调用,编译器自动转变为this.print()
}
}
public class This01
{
public static void main(String[] args)
{
Banana a=new Banana();
Banana b=new Banana();
a.peel(1);//编译自动添加this 转变为Banana.peel(a,1)
b.peel(2);
}
}
<span style="color:#000000;BACKGROUND-COLOR: #ffffff">public Constructor02(){}
public Constructor02(int i){this();} //产生符合此参数列表的某个构造器的明确调用
public Constructor02(int i,int j){this(i);}
public Constructor02(float i){}</span><span style="color:#000000;">class Banana{
int j;
static int i;
static void count(){
Banana b9=new Banana();
b9.i=9;
b9.j=8; //通过创建对象访问其非static类型的
b9.print(); //通过创建对象访问其非static类型的
//j++; 不可直接访问
//print();
i++;//直接访问static变量
}
void print(){ //非static方法直接访问static成员。
System.out.println("i:"+i);
count();
}
Banana increment(){
i++;
return this;
}
}
</span>静态方法是类内部的一类特殊方法,只有在需要时才将对应的方法声明成静态的,一个类内部的方法一般都是非静态的 那在什么时候需要呢?
一般是为了方便调用才会声明为static方法:例如为了方便方法的调用,Java API中的Math类中所有的方法都是静态的,而一般类内部的static方法也是方便其它类对该方法的调用。注意使用:静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。因为实例成员与特定的对象关联!这个需要去理解,因为static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract。
标签:
原文地址:http://blog.csdn.net/xu5025/article/details/42291227