黑马程序员技术交流社区
标题:
调用静态方法
[打印本页]
作者:
呆呆呆
时间:
2013-11-22 13:33
标题:
调用静态方法
类名,静态方法
可以用 本类对象.静态方法 调用吗?
还有其他的调用方法吗?
不是很清楚
作者:
姚宏
时间:
2013-11-22 14:02
类中定义的静态方法可以用 类名.静态方法名直接调用 或者是用此类声明的对象调用
作者:
终结者
时间:
2013-11-22 14:02
调用静态方法只是比平常的方法调用多了一个类名.静态方法名
作者:
凌风
时间:
2013-11-22 14:05
基本上可以分为三种情况:
1.如果另一个类中的那个方法是私有的话(private),就不能直接调用到。
2.如果是静态的(static)话,直接用类名可以调用到,类.方法()。
3.如果是非静态的,就需要利用另一个类的实例(也就是用那个类生成的对象)来调用。
通过代码示例:
class A{
public static void a(){}
public void b(){}
private void C(){} //此方法为private 其它类不可以调用
}
public class B{
public static void main(String[] args){
A.a(); // 静态方法 直接用 类名.方法名
new A().b(); //非静态方法,先newA类的对象 再进行调用 。
}
}
复制代码
作者:
简★零度
时间:
2013-11-22 14:12
static
(1)是一个关键字,可以修饰成员变量和成员方法
(2)特点:
A:随着类的加载而加载。
B:优先于对象存在。
C:被所有对象共享。
D:可以被类名调用。
(3)静态方法和非静态方法的使用
A:静态方法
a:静态成员变量
b:静态成员方法
B:非静态方法
a:非静态成员变量
b:非静态成员方法
c:静态成员变量
d:静态成员方法
(4)静态变量和非静态变量的区别?
A:生命周期
静态随着类的加载而加载,随着类的消失而消失。
非静态随着对象的创建而存在,随着对象的消失而消失。
B:存储位置
静态是存储在方法区中的静态区。(方法区:方法区,静态区,代码区,常量池)
非静态是存在堆中。
C:调用方式
静态可以类名调用,也可以对象名调用。
非静态只能对象名调用。
D:理解不同
静态修饰的内容是被所有对象共享的。
非静态的内容是每个对象特有的。
(5)什么时候使用静态?
A:如果某个成员被所有对象共享。
举例:水杯和饮水机,姓名和班级。
B:工具类的成员一般都是静态修饰。
作者:
che201311
时间:
2013-11-22 16:13
本帖最后由 che201311 于 2013-11-22 16:15 编辑
如果另一个类中的那个方法是私有的话(private),就不能直接调用到。
如果是静态的(static)话,直接用类名可以调用到,类.方法()。
如果是非静态的,就需要利用另一个类的实例(也就是用那个类生成的对象)来调用。
通过代码示例:
class A{
public static void a(){}
public void b(){}
private void C(){} //此方法为private 其它类不可以调用
}
public class B{
public static void main(String[] args){
A.a(); // 静态方法 直接用 类名.方法名
new A().b(); //非静态方法,先newA类的对象 再进行调用 。
}
}
作者:
lichao
时间:
2013-11-22 17:28
可以 对象.方法名 也可以类名.方法名 这都是可以的
作者:
瓶中人
时间:
2013-11-23 11:05
其实这种问题,越是浮云,自己试一下不就知道吗?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2