站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题[新手问题] 关于与类名同名的方法

[新手问题] 关于与类名同名的方法

摘要: [新手问题] 关于与类名同名的方法


class Ask2
{
public Ask2()
{
System.out.println("iiiiiiiii");
}


void Ask2()
{
System.out.println("........");
}
public static void main(String[] args)
{
Ask2 as=new Ask2();
as.Ask2();
}
}

为什么同类名一样的方法名都可以执行,原来我以为不行


重载


一个是构造函数
一个是普通的方法


第一个是构造函数,第二个是普通的方法,两个是不同的方法,你new了类Ask2的一个新对象,调用了同名Ask2()方法,当然都要执行了...


速度够快的,掉了一下线,回过头来就成三楼了^_^


构造函数要求与类名相同


如果你在类中没写构造函数,也可以,会被自动的调用默认的构造函数,



属性名,方法名 除了标准的的0-9,a-z,A-Z $_ 外,还不可以是java的关键字。
类名不是java关键字当然可以做为方法名,
你甚至可以这样定义
Integer Integer = new Integer(100);

明白?明白就给点分吧,现在CSDN人太扣了,分难得呀


注Integer是JDK内置类,也不是java关键字,所以可以做为变量名。
java5.0的所有关键字如下:

abstract boolean break byte case catch char class const continue default do double else extends final finally
float for goto if implements import instanceof int interface long native new package private protected public
return short static strictfp super switch synchronized this throw throws transient try void volatile while assert enum

它们不可以做为方法名和变量名。



打印结果第一个:调用的是构造函数,类实例化时,会调用无参的构造函数.public Ask2()
打印结果第二个:这个是类里的普通方法,即调的是void Ask2()



↑返回目录
前一篇: 请问java中this的这种用法?DnDExample.this.dispose()
后一篇: 求教一个正则表达式的超级难题,再搞不定就要被炒鱿鱼络