スーパークラスのコンストラクタを使いたい時

2020年10月10日

import java.util.Calendar;
import java.util.GregorianCalendar;</p>
<p>class Day extends GregorianCalendar {
public Day(){
super(); //スーパークラスのコンストラクタを使いたい時
}
public Day(int y, int m, int d) {
super(y,m,d);
}
public int compare(Day t2){
if(get(Calendar.MONTH)==t2.get(Calendar.MONTH)&&get(Calendar.DATE)==t2.get(Calendar.DATE)){
return 0;
}else if(before(t2)){
return -1;
}else{
return 1;
}
}
}</p>
<p>public class rei16 {
public static void main(String[] args) {
int month = 3, day = 13; //誕生日3月13日
Day t1 = new Day();
Day t2 = new Day(t1.get(Calendar.YEAR),month-1,day);
switch(t1.compare(t2)){
case 0:
System.out.println("誕生日おめでとう");
break;
case -1:
System.out.println("誕生日はまだです");
break;
case 1:
System.out.println("誕生日は過ぎました");
break;
}
}
}</p>
<p>

やっぱわからん。super()の説明が無さ過ぎるぞ

class Triangle1 {
private String mark;
private int num;
public Triangle1(String a, int b) {
mark = a; num = b;
}
public void disp(){
int j,k;
for (j=1;j<=num;j++){
for(k=1;k<=j;k++){
System.out.print(mark);
}
System.out.println();
}
}
}
class nTriangle extends Triangle1 {
private int n;
public nTriangle(String a, int b, int c){
super(a,b); //スーパークラスのコンストラクタの呼び出し
n=c;
}
public void disp(){
for(int i=0;i<n;i++){ //第3引数で指定した分ループ
super.disp(); //スーパークラスのdisp method
}
}
}
public class Dr16 {
public static void main(String&#91;&#93; args) {
Triangle1 t1 = new Triangle1("*",4);
nTriangle t2 = new nTriangle("o", 5, 2); //表示する記号,段の数,個数
t1.disp();
t2.disp();
}</p>
<p>}

なるほど、これなら良くわかる。

Java

Posted by bistro