Warning: Trying to access array offset on value of type bool in /home/web13c/bistro.site/public_html/wp-content/themes/luxeritas/inc/json-ld.php on line 120

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

2020年10月10日

import java.util.Calendar;
import java.util.GregorianCalendar;
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;
		}
	}
}
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;
		}
	}
}

やっぱわからん。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[] args) {
		Triangle1 t1 = new Triangle1("*",4);
		nTriangle t2 = new nTriangle("o", 5, 2); //表示する記号,段の数,個数
		t1.disp();
		t2.disp();
	}
}

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

Java

Posted by bistro