似乎我們被迫使用用戶定義的構造函數(如果已定義了構造函數並且無法使用已提供的默認構造函數)。如果存在用戶定義的構造函數,則無法使用默認構造函數
我可以做到這一點(默認構造函數),如果沒有設置用戶定義的構造
Student s = new student() ;
一旦用戶定義的構造已被提供,我不能不再做,這不同於C++,其中i仍然可以使用提供的代碼
樣品在那裏我定義的構造函數的構造,無法做到Student s = new student()
package javaapplication1;
import java.util.*;
import java.io.*;
import java.lang.*;
public class JavaApplication1
{
public static void main(String[] args)
{
Student s = new Student(); // will get compiler error
System.out.println(s.getname());
}
public static class Student
{
private String name;
private int mark;
public Student(String namevalue , int markvalue) // user defined constructor
{
name = namevalue;
mark = markvalue;
}
public String getname()
{
return name;
}
public void setname(String value)
{
name = value;
}
}
}
我的分析是否正確,爲什麼這樣?
如果您定義了自己的構造函數,則沒有提供默認構造函數。 –
C++具有相同的行爲! –