我是java语言的新手我对这两个方法调用之间的不同感到困惑(我不知道它是否是方法调用)
但如果我需要调用方法来计算一些我称之为
salary obj=new salary();
obj.bonus(45000);
但是当我们调用String length方法时,我们将其称为
String name="Java lovely";
name.length();
这两种方法有什么不同。请帮我解决这个问题 谢谢
答案 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