⑴ 解釋一下這個java程序,想知道那個構造方法是怎麼返回值的,返回的是什麼值這個程序是按照怎樣的順
這個問題其實比較簡單呀.. 不過如果要理解內部的一些原理就比較麻煩了.. 首先是new 了一個House對象,這時它的執行順序應該是 先執行House類中的static代碼塊,但是由於沒有,所以沒有執行,然後就去找House類中的成員變數初始化(也就是去new Window對象出來,執行順序也是這樣的),最後再執行自己的構造函數. 構造方法是不能有返回值的,它只能有不同的參數列表~
總之就是,有static的,先執行static,有多個static則按順序執行,然後再初始化成員變數,同樣是按順序執行.最後才調用構造方法. 因為在初始化成員變數的時候,也是按這個順序執行的,就有一種遞歸的感覺.
⑵ JAVA中構造函數中能不能使用return語句
構造函數是沒有返回值類型的,通常不寫return。但是其實可以寫return,是不會報錯的。
⑶ 請問構造函數的返回值類型只能是void型,對嗎
構造函數的返回類型不可指定 如果在構造函數前面寫上void ,那麼構造函數就變成無效的了。
構造函數的功能主要用於在類的對象創建時定義初始化的狀態。它沒有返回值,也不能用void來修飾。這就保證了它不僅什麼也不用自動返回,而且根本不能有任何選擇。其他方法都有返回值,即使是void返回值。
(3)java構造函數返回值擴展閱讀:
當定義一個類的時候,通常情況下都會顯示該類的構造函數,並在函數中指定初始化的工作也可省略,不過Java編譯器會提供一個默認的構造函數.此默認構造函數是不帶參數的。而一般的方法不存在這一特點;
構造函數有回滾的效果,構造函數拋出異常時,構造的是一個不完整對象,會回滾,將此不完整對象的成員釋放(c++)
⑷ java數組在自定義函數中返回值
public Num(int n)是構造函數,沒有返回值。如果必須使用構造函數的話,可以考慮使用成員變數來保存和輸出數組的值。代碼如下:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Num {
List<Integer> list = new ArrayList<>();
public static void main(String[] args) throws Throwable{
try(Scanner s = new Scanner(System.in)) {
System.out.println("輸入個數");
int n = Integer.parseInt(s.nextLine());
Num li = new Num(n);
for(int i = 0; i < n; i++) {
s.nextLine();
System.out.println(li.list.get(i));
}
}
}
public Num(int n) {
for(int i = 0 ; i < n ; i++) {
list.add(n);
}
}
}
如果想使用函數的返回值來保存和輸出數組的值,那可以使用普通的帶有返回值的函數來實現。代碼如下:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Num {
public static void main(String[] args) throws Throwable{
try(Scanner s = new Scanner(System.in)) {
System.out.println("輸入個數");
int n = Integer.parseInt(s.nextLine());
Num li = new Num();
List<Integer> list = li.NumSave(n);
for(int i = 0; i < n; i++) {
s.nextLine();
System.out.println(list.get(i));
}
}
}
public List<Integer> NumSave(int n) {
List<Integer> list = new ArrayList<>();
for(int i = 0 ; i < n ; i++) {
list.add(n);
}
return list;
}
}
麻煩看一下是否好用。
⑸ 2. JAVA類中,構造函數的返回值類型是( ) A、boolean B、String C、void D、類本身
D、類本身你看在實例化一個類的時候的代碼就知道了。類裡面的構造函數是這個樣子:class Test{public Test(){//我是構造函數}}實例化類的代碼是這個樣子:Test t = new Test();//這里就是調用構造函數,返回一個Test的對象。
⑹ java構造方法
java構造方法也就是java構造函數,方法舉例如下圖:
java構造函數一般用來初始化成員屬性和成員方法的,即new對象產生後,就調用了對象了屬性和方法。
在現實生活中,很多事物一出現,就天生具有某些屬性和行為。比如人一出生,就有年齡、身高、體重、就會哭;汽車一出產,就有顏色、有外觀、可以運行等。這些,我們就可以將這些天然的屬性和行為定義在構造函數中,當new實例化對象時,也就具有這些屬性和方法了,沒必要再去重新定義了,從而加快了編程效率。
(6)java構造函數返回值擴展閱讀:
java構造函數的特點:
1、函數名與類名相同
2、不用定義返回值類型。(不同於void類型返回值,void是沒有具體返回值類型;構造函數是連類型都沒有)
3、不可以寫return語句。(返回值類型都沒有,也就不需要return語句了)