当前位置: 代码迷 >> J2SE >> 关于Static一些有关问题
  详细解决方案

关于Static一些有关问题

热度:124   发布时间:2016-04-23 20:22:46.0
关于Static一些问题
Static表示静态,用Static方法是静态只能调用静态的方法,可是今天问题出来了
看下面代码:
class Person
{
private int age;
public void setage(int a)
{
if(a>0&&a<100)
{
age = a;
}
else
{
System.out.print("错误");
}
   }
          public int getage()
   {return age;}
           public void speak()
{
           System.out.print("age="+age);
}
}
   class Demo
   {
   public static void main(String[] args)
   {
   Person p = new Person();
   p.setage(20);
   p.speak();
   }
   }
运行javac Demo.java,结果为20
可现在我不明白的是静态不是只能调用静态吗?Person p= new Person()明显不是静态的啊,他在Person类中创建了一个新的对象P,如果要是能修改成运行后报错显示Person p = new Persong90是非静态的不能调用,请问怎么修改啊?
------解决方案--------------------
这是通过实例化的对象来调用,是不一样的;
调用静态方法;
public static void main(String[] args)
{
Person p = new Person();
p.setage(20);
p.speak();
print();
}
public static void print()
{
System.out.println("测试");
}
  相关解决方案