java 调用方法要先new一个新对象
classA{protectedvoidprint(Strings){System.out.println(s);}A(){print("a");}//调用print方法...
class A {
protected void print(String s) {
System.out.println(s);
}
A() {print("a");} //调用print方法不是应该先new一个新对象出来吗?
public void f() {print("b";)}
}
为什么这里不new个对象就可以直接调用了呢? 展开
protected void print(String s) {
System.out.println(s);
}
A() {print("a");} //调用print方法不是应该先new一个新对象出来吗?
public void f() {print("b";)}
}
为什么这里不new个对象就可以直接调用了呢? 展开
6个回答
展开全部
两种情况:
1.类中的方法如果是静态的(带static的)不需要new , 可以直接调用:类.方法();
2.如果类中的方法不是静态的(无static),必须new 出个对象,才能调用,格式:
对象=new 类();
对象.方法();
1.类中的方法如果是静态的(带static的)不需要new , 可以直接调用:类.方法();
2.如果类中的方法不是静态的(无static),必须new 出个对象,才能调用,格式:
对象=new 类();
对象.方法();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A(){}默认为构造函数
在类里面 默认都是this.print("a");
而this为本对象 及A的对象 所以不用再new
在类里面 默认都是this.print("a");
而this为本对象 及A的对象 所以不用再new
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实是这样的,
A() {
print("a");
} 是一个构造方法,这里其实并没有真正调用print方法,什么意思呢,就是说这个时候没有创建新的对象,这个方法并没有被调用,继续看例子。
class A {
protected void print(String s) {
System.out.println(s);
}
A() {
print("a");
} //这个时候是没有在调用的(要不然就直接在屏幕上打印字母a了),也就是当创建一个新对象的时候,才会调用这个方法,
public void f() {
print("b");
}
public static void main(String[] args){
A a=new A();//这里创建了一个新的对象,这个时候才真正的调用print("a"),输出字母a
}
}
这里有一个很重要的知识点就是:
当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this,也就是上面再main方法里面创建对象的时候JVM给该新创建的对象分配了一个this,这个this就代表当前你创建的对象,print方法是类A的方法,其实本来应该写成this.print("a"),但是这个this是可以省略的。
A() {
print("a");
} 是一个构造方法,这里其实并没有真正调用print方法,什么意思呢,就是说这个时候没有创建新的对象,这个方法并没有被调用,继续看例子。
class A {
protected void print(String s) {
System.out.println(s);
}
A() {
print("a");
} //这个时候是没有在调用的(要不然就直接在屏幕上打印字母a了),也就是当创建一个新对象的时候,才会调用这个方法,
public void f() {
print("b");
}
public static void main(String[] args){
A a=new A();//这里创建了一个新的对象,这个时候才真正的调用print("a"),输出字母a
}
}
这里有一个很重要的知识点就是:
当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this,也就是上面再main方法里面创建对象的时候JVM给该新创建的对象分配了一个this,这个this就代表当前你创建的对象,print方法是类A的方法,其实本来应该写成this.print("a"),但是这个this是可以省略的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法是public声明
需要在main方法new一个新对象
class A {
public void print(String s) {
System.out.println(s);
}
public static void main(String[] args) {
A a=new A();
a.print(a);
a.print(b);
}
需要在main方法new一个新对象
class A {
public void print(String s) {
System.out.println(s);
}
public static void main(String[] args) {
A a=new A();
a.print(a);
a.print(b);
}
追问
A() {print("a");} 为什么可以直接调用print方法呢
追答
上面我说的是在别的类里,因为类一般都是在别的地方用的。
在一个类里可以直接用
public static void main(String[] args) {
print(a);
print(b);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询