這就是Java的一個很基本的概念,或任何真正的面向對象編程(OOP)語言,您可以在幾乎所有的書發現它和教程在那裏。
但是因爲問題在這裏永遠在互聯網的歷史品牌,我會提供一個答案。
你的方法:
public Point newFunction(int a,int b){
}
必須返回一個Point對象,就像你告訴它,當你設置返回類型爲指向。
這意味着它將返回一個Point對象。一個對象可以包含各種數據和方法等,所以你不僅僅返回一個int
或char
或任何東西。
我已經修改了你的代碼,所以它實際上做了一些事情,這是你如何返回一個Point(或任何其他對象)的例子以及這意味着什麼。
class Point{
int x;
int y;
public Point(int a, int b){
x = a;
y = b;
}
public int getX(){
return x;
}
public int getY(){
return y;
}
}
class TestCode{
public static void main(String args[]){
Point obj1 = new Point(1, 2);
Point obj2 = newFunction();
System.out.println(obj1.x + " " + obj1.y);
System.out.println(obj2.getX() + " " + obj2.getY());
}
public static Point newFunction(){
return new Point(9, 9);
}
}
這創建了obj1
及其具有x和y值的新Point。然後它創建obj2並將其設置爲等於myFunction()
返回的值。由於我們知道myFunction()
必須返回一個Point對象,因此它可以工作。
然後myFunction()
創建一個新的Point對象並使用值9和9.然後打印值以查看它們是如何受到影響的。
它會返回一個Point,就像你告訴它的那樣。返回後放一個Point。儘管在這裏看起來好像你正試圖在另一個函數(main)中定義一個函數,這是不正確的。 –
是什麼?在java中的所有東西都返回** Object **,**原始類型**或** void **。 – ruhungry
此代碼不會編譯。 1. Java不允許方法內的方法。 2.即使假設'newFunction'在'main'之外,它也不會返回'Point'的實例(它有一個空的體)。爲了得到一個有意義的答案,請用一個很好的例子來更新您的問題,並清楚地說明您的問題 – Nivas