phfb.net
当前位置:首页 >> 静态方法只能用类名调用 >>

静态方法只能用类名调用

一个类的静态方法可以直接调用,不必new一个出来.例如 utils.class 中有一个 static getdate()方法.你在其它类里面 直接用 utils.getdate();不需要new utils();

因为该类的静态方法是程序启动时自动放在内存中了的,是属于程序的公共内存(但只能访问),而类名在这里你可以理解为命名空间.先通俗的分析下,我们把类看作是一个房子.房子里面有家具,桌椅板凳之类的,房子里面还有人. 房子里

静态数据成员是在类装载的时候就分配了内存空间,而类的成员变量是在生成对象时分配内存空间.所以只要类装载了,就可以用类名访问静态数据成员.事实上,该类的所有对象都只保存类静态数据成员的引用,他们都指向同一块内存区域.

静态方法与对象不是绑定一起的,当编译阶段就可以使用的.所以使用的时候,不用声明对象就可以使用,你可以上机一个小程序测试一下,错误的地方都会有提示的.

static修饰的是静态变量(方法)也叫类变量(方法)(顾名思义,类变量(方法),就是类自己的,在类加载的时候就能调用,不用创建对象)

有,对于静态方法,和静态变量也是如此,他们不需要实例化就能调用,对于非静态类,必须要new出来才能用里面的方法,也就是要实例化才能用,他们各有各的用处,详情请百度

是.假设f是非静态方法,o是类C的实例,则f只能通过f(),this.f(),super.f()调用(这些方式只能在类C内部)或o.f()调用(这个方式即可以在类C的内部也可以在类C的外部).

因为静态方法是属于类的,动态方法属于实例对象,动态方法只有在对象实例化之后才存在,如果静态方法能调用动态方法的话,那如果别人通过类名调用静态方法时实例对象可能并不存在,但是方法内又调用了对象的方法,由于对象不存在,所以动态方法也不存在,程序肯定报错,所以java直接在编译阶段检查这种错误,避免运行时异常

不是啊,非静态方法里也可以调用静态方法的,反过来就不行了,静态方法不可以调用非静态的方法.

你好,你的理解大体上是对的.但是严格的说,上述必须在类外部调用才成立.而且1.5之后有了静态方法导入,可以不用写类名,直接调用静态方法.“调用非静态类方法时候需要new个类再 对象.方法”这句准确的说“调用非静态类方法时候需要new个对象出来,再 对象.方法”以上的所有调用必须严格满足访问权限.也就是私有、包级私有、受保护、公共.

网站首页 | 网站地图
All rights reserved Powered by www.phfb.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com