[英]multiple constructors in java
class Objectsmultiplecnstrctrs {
public static void main(String args[]){
ObjectsForMultipleConstructors engg2=new ObjectsForMultipleConstructors(1);
ObjectsForMultipleConstructors engg3=new ObjectsForMultipleConstructors(1,2);
ObjectsForMultipleConstructors engg=new ObjectsForMultipleConstructors(1,2,3);
}
}
// secondary class
public class ObjectsForMultipleConstructors {
private int hour;
private int minute;
private int second;
public ObjectsForMultipleConstructors(int h){
this.hour=h;
System.out.printf("give one ",+hour);
}
public ObjectsForMultipleConstructors(int h,int m){
System.out.printf("goddamn ",+m);
}
public ObjectsForMultipleConstructors(int h,int m,int s){
System.out.println("guess");
}
}
OUTPUT給了一個該死的猜測
現在我已經聲明了int hour = h和我在主類的參數中分配的h的值,所以我期望我定義的h的值顯示在文本旁邊(System.out.printf(“該死的“,+ m);),,但它正在做我想要它做的事情,我失蹤了
為什么使用逗號System.out.printf(“給一個” ,
+小時); ?
它必須是System.out.printf(“給一個”+小時);
printf用法的描述是:
使用指定的格式字符串和參數將格式化字符串寫入此輸出流的便捷方法。 調用out.printf(format,args)形式的此方法的行為與調用out.format(format,args)完全相同。參數:format格式字符串語法中描述的格式字符串args引用的參數格式字符串中的格式說明符。 如果參數多於格式說明符,則忽略額外參數。 參數的數量是可變的,可以為零。 參數的最大數量受Java虛擬機規范定義的Java數組的最大維數限制。 null參數的行為取決於轉換。
為了格式化和打印printf()
參數,您需要在模式字符串中指定它們,如:
System.out.printf("give one %d ", hour);
您還需要在printf語句中使用格式說明符
System.out.printf("give one %d ",hour);
我認為這是因為你沒有在方法printf中使用%d訪問說明符
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.