Aay*_*jan 1 java return return-value
我是一名初学者,我正在观看youtube上的教程,导师讲了各种方法.他谈到了在java中返回值,但我对此并不了解.我将首先分享脚本,然后分享我的想法和疑问.
这是class1脚本:
import java.util.Scanner;
class class1{
public static void main(String args[]){
System.out.println("This is class1.");
Scanner x = new Scanner(System.in);
System.out.print("Please enter the name of your first gf here:");
String name = x.nextLine();
class2 class2obj = new class2();
class2obj.setname(name);
class2obj.tellname();
}
}
Run Code Online (Sandbox Code Playgroud)
你可以看到它有主要方法,它的作用是:它首先要求你的第一个女朋友的名字然后将它存储在变量中name.然后它链接我将在此之后共享的class2脚本,并在class2中执行setname方法.
该class2脚本是:
class class2{
private String girlname;
public void setname(String name){
girlname = name;
}
public String returnname(){
return girlname;
}
public void tellname(){
System.out.printf("your first girlfriend was %s",returnname());
}
}
Run Code Online (Sandbox Code Playgroud)
在class2,我可以看到该setname方法将值设置name为私有变量girlname但我的问题是它返回什么?为什么我们需要这个returnname方法?这对于方法间变量是绝对必要的吗?另外,为什么没有更多钞票归还girlname的setname方法是什么?
我不知道返回的事情,所以视频或文章会有很多帮助.而且,这就是你发现我上面说的奇怪的原因.
另外,请告诉我returnname方法和tellname方法的作用.
另外,class1我们执行了class2obj.tellname为什么不执行class2obj.returnname?
我现在真的很困惑所以请不要介意我是否表现得很傻.
首先,如果你给出的代码实际上是教程中使用的代码,那么选择另一个教程.它甚至不尊重标准的Java命名约定.
然后,回答你的问题.对象是状态(字段)和行为(方法)的混合.某些方法会修改对象的状态.某些方法允许您访问对象的状态.一些方法允许两者兼顾.有些方法使用对象的状态和其他对象来做一些有用的事情.
该方法void setName(String name)不返回任何内容.如果它有一个javadoc注释,并且如果明智地选择了类和方法名称,则此注释会说:
/**
* Sets the name of this GirlFriend object. Replaces the previous name of
* the girl friend with the new name given as argument
*/
public void setName(String newName) {
this.name = newName;
}
Run Code Online (Sandbox Code Playgroud)
此方法修改对象的状态,不需要返回任何内容.它的职责是更改名称,而不是其他任何名称.返回新名称不起任何作用,因为调用者已经知道它:它将它作为参数传递.
稍后,您可能有兴趣知道女朋友的名字:
/**
* Returns the name of this GirlFriend object
*/
public String getName() {
return this.name;
}
Run Code Online (Sandbox Code Playgroud)
这个方法不需要任何参数:它允许向女朋友询问她的名字,并且该方法返回名称作为答案.
我会带一本好书,或者使用官方Java教程来了解更多信息.
| 归档时间: |
|
| 查看次数: |
26428 次 |
| 最近记录: |