您的位置:首页 > 其它

《静态与非静态之间的调用问题》

2016-04-29 13:02 225 查看
//静态与非静态之间的调用问题。
public class StaticDemo
{
/*
此处演示了,静态的方法(此处是main方法)不能直接调用非静态的方法,可以通过创建该类对象来调用
public void info()
{
System.out.println("简单的info方法!");
}
public static void main(String[] args)
{
StaticDemo s = new StaticDemo();
s.info();
}
*/
public static void info()
{
System.out.println("简单的info方法!");
}
public static void main(String[] args)
{
StaticDemo s = new StaticDemo();
s.info();            //这样用对象来调用静态成员也是对的,单不推荐这样调用,因为静态
//的成员就是应该用类名来调用的。

//        new StaticDemo().info();//和上面两句是一样的效果。只不过是使用了匿名的对象来调用而已。

//        info();    //这样调用是对的,因为默认使用了类名调用,和下面的调用等价。

//        StaticDemo.info();    //这是底层的调用原理,调用静态时,如果不是用对象来调用
//,并且省略的类名,则默认使用类名调用即下面一段话:
//(《疯狂Java讲义》如果调用static修饰的成员(包括方法,
//成员变量)时省略了前面的主调,那么默认使用该类作为主调。)
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: