JAVA 类与方法之间调用问题
来源:百度知道 编辑:UC知道 时间:2024/06/18 17:51:58
在线等到起的!!!!!!
好乱,类内部的方法肯定可以直接互相调用。在类开始之前不能创建一个对象,你最好学习一下java的基本规范
首先,你在一个类里不创建对象可以直接使用它的方法,不会出错是因为在你调用这个方法时,其实Java的编译器,默认的帮你在调用的方法前面加上了一个对象。这个对象就是this.它表示当前对象。你也可以显示的用this来调用这个方法。所以无论你在哪里调用用一个非静态方法,都是要一个对象才能来调用的。
下面的问题:
package test;
public class Print {
static int i = 0;
public Print () {
System.out.println("first" + i++);
}
//这个程序里下面这句其实它并没有调用构造方法。你运行看看,并没有first0输出
//说明它没有调用构造方法。当你在main方法方法里加上
//Print p1 = new Print ();时。出现了at test.Print.<init>这个
//错误,这也许是main方法里的调用构造器,与这里的调用构造器的同时性
//导致的问题。
Print p = new Print ();
public static void main(String[] args) {
//Print p1 = new Print ();
System.out.println("ooooooooooooooooooooooooo");
}
}
一个很普通的方法调用另一个很普通的方法不会出错。因为他完全符合语法规范!
你在main里new了一个对象时,虚拟机会先调用你的构造器;如果这是在构造器里也有一个创建(也就是 new)对象的动作,它就会再次调用构造器;就这样形成死循环,当然会溢出;
如果解释的不好,你把代码片段拿出来,看看
1.同一个类内的方法是可以直接相互访问的