日期:2014-05-20  浏览次数:20634 次

主方法只能引用static方法,那别的类中的非static方法可以引用么?新人请教,谢谢
class Person{
  String name ;
int age ;
public Person(String n,int a){ // 声明构造方法,为类中的属性初始化
name=n ;
age=a ;
}
public void tell(){
System.out.println("姓名:" + name + ";年龄:" + age) ;
}
};
public class ConsDemo02{
public static void main(String args[]){
System.out.println("声明对象:Person per = null ;") ;
Person per = null ; // 声明对象时并不去调用构造方法
System.out.println("实例化对象:per = new Person() ;") ;
per = new Person("张三",30) ;//实例化对象
per.tell() ;
}
};
问题:
例如这个例子中主方法中调用的tell方法就不是static的,是不是别的类中的方法不要求一定是static?
新人请教,多谢各位:)

------解决方案--------------------
这不是本类或别的类的区别.
static定义的方法是静态方法,通过类来访问,比如Person.XXXX()
其它方法只能通过实例来访问,比如per.XXXX()
所以你能通过per.tell()来调用tell,因为per是一个实例。
但你不能通过Person.tell()来调用,因为tell不是static方法。