不同的方法在java中调用

时间:2013-08-06 07:05:51

标签: java methods

我是java语言的新手我对这两个方法调用之间的不同感到困惑(我不知道它是否是方法调用)


但如果我需要调用方法来计算一些我称之为

的东西
salary obj=new salary();

 obj.bonus(45000);

但是当我们调用String length方法时,我们将其称为

String name="Java lovely";
name.length();

这两种方法有什么不同。请帮我解决这个问题 谢谢

6 个答案:

答案 0 :(得分:3)

String name="Java lovely";

你可能会对字符串文字感到困惑。

<强> String is special in java

如果我写了

,你会清楚
String s = new String("Java Lovely");
s.lenght();

答案 1 :(得分:1)

String是一个类。 String类表示字符串。 Java程序中的所有字符串文字(例如“abc”)都实现为此类的实例。

字符串是常量; 它们的值在创建后无法更改。字符串缓冲区支持可变字符串。因为String对象是不可变的,所以可以共享它们。例如:

     String str = "Java lovely";

相当于:

     char data[] = {'J', 'a', 'v', 'a', ' ', 'l','o', 'v', 'e','l', 'y'};
     String str = new String(data);

length是String Class的方法。

的上半部分

      salary obj=new salary();
      obj.bonus(45000);

在这个薪水是一个班级,你创建了这个'obj'的对象奖金是你在工资类中定义的方法,你正在调用那种方法

和其他是

     String name="Java lovely";
     name.length();

在这里相同

     String name=new String("Java lovely");

你在String对象'name'上调用length方法。

两者都相同,但一个区别是String是常量(不可变)意味着一旦你创建了它,你就无法改变它,但是你的工资等级不是常数,你可以改变它。

要更好地了解java,你可以阅读本书。 Head first Java

答案 2 :(得分:0)

完全相同。 obj和name都是他们班级的实例。 BUt String是java中的特殊类。如果没有 new 关键字,可以像上面那样创建。

答案 3 :(得分:0)

它是相同的,因为String是一个现成的java类。 你可以做:

String name = new String("dsdsd");

好像是

String name = new String();
name = "dsdsd";
name.length();

答案 4 :(得分:0)

你们男人有什么区别? 第一次调用在()之间有什么东西?并且name.length不是吗?这是因为方法奖励是一种带参数的方法。它期望一个值,在这种情况下是一个整数或int来做这件事。但Name.length并不表示任何值,它只返回保存的字符串长度。

或者在哪里看到差异?

obj.bonus(number); and
name.length (); 

实际上是一样的......

如果这不是你的问题,请不要这样做。

编辑:或者你的意思是构造函数?这是因为字符串在java中是特殊的,实际上是新的String(“lalala”);是对的。

答案 5 :(得分:0)

 salary obj=new salary(); // You are initializing salary class

 obj.bonus(45000); // Your salary class contains bonus method and it takes
                      int argument

所以你是电话奖金方法并解析45000。

 String name="Java lovely";  // You are define a String
 name.length(); // this will return the length of name String, no need input 
                argument and return int length