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个对象就可以直接调用了呢?
展开
 我来答
小湛实验室
推荐于2016-05-08 · TA获得超过101个赞
知道答主
回答量:111
采纳率:0%
帮助的人:37.9万
展开全部
A()
{print ("a");} //是类A的构造方法,{}里面的是方法体
public void f()
{print ("b");} //是名为f的方法
他们都定义在A这个类里面。
被调用方法和调用方法可能会属于同一各类。如果是这样,就可以直接用方法名来调用。如果被调用方法和调用方法不属于同一个类,则需要通过另一个类的对象名来调用方法。这是就需要new个对象
ycsxm
2012-07-29 · TA获得超过3.3万个赞
知道大有可为答主
回答量:1.4万
采纳率:0%
帮助的人:7941万
展开全部
两种情况:
1.类中的方法如果是静态的(带static的)不需要new , 可以直接调用:类.方法();
2.如果类中的方法不是静态的(无static),必须new 出个对象,才能调用,格式:
对象=new 类();
对象.方法();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程序那点事
2012-07-29 · TA获得超过6140个赞
知道大有可为答主
回答量:3253
采纳率:59%
帮助的人:1335万
展开全部
A(){}默认为构造函数
在类里面 默认都是this.print("a");
而this为本对象 及A的对象 所以不用再new
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
15985360911
2012-07-30 · 超过25用户采纳过TA的回答
知道答主
回答量:43
采纳率:100%
帮助的人:61.8万
展开全部
其实是这样的,
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是可以省略的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
felix521
2012-07-29 · TA获得超过857个赞
知道小有建树答主
回答量:128
采纳率:0%
帮助的人:119万
展开全部
方法是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);
}
追问
A() {print("a");}  为什么可以直接调用print方法呢
追答
上面我说的是在别的类里,因为类一般都是在别的地方用的。
在一个类里可以直接用
public static void main(String[] args) {

print(a);
print(b);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式