import java.util.*;
public class Clock{
public static void main(String[]args){
Clockr c1 = new Clockr();
Clockr c2 = new Clockr();
DualClockr ibj = new DualClockr(c1,c2);
DualClockr ibj1 = new DualClockr(ibj);
Watch band = new Watch(); //定义子类对象
band.setBand(0);//子类成员
band.show();
ibj1.c1.set(5,6,22);
ibj1.c1.show();
Clockr cobj = new Clockr();
cobj.set(5,6,22);
DateClockr dcobj = new DateClockr(cobj);
dcobj.setDate(2019, 9, 31);
dcobj.show();
}
}
class Watch extends Clockr{
private int band;
public void setBand(int b){
second = 22;
band = b;
}
public void show(){ //定义一个新show覆盖老show
if(band == 1 )
System.out.print("(金属表带)");
else
System.out.print("(皮革表带)");
super.show(); //访问被覆盖的老成员Clockr
}
public Watch(){
super(); // 调用Clockr的无参构造方法
band = 1;
}
public Watch(int h,int m, int s,int b){
super(h,m,s);
band = b;
}
}
class DateClockr{
private Clockr c;
private int year,month,day;
public void setDate(int y,int m,int d){
year = y;month = m;day = d;
}
public void show(){
System.out.print(year+"-"+month+"-"+day+" ");
c.show();
}
public Clockr getClockr(){
return c;
}
public DateClockr(Clockr obj){
c = obj;
}
}
class DualClockr{
public Clockr c1,c2;
public void setDual(int h,int m,int s){
c1.set(h,m,s);
c2.set(h+1,m,s);
}
public void showDual(){
c1.show();
c2.show();
}
public DualClockr(Clockr p1,Clockr p2){
c1 = p1;
c2 = p2;
}
public DualClockr(DualClockr p){
c1 = p.c1;
c2 = p.c2;
}
}
class Clockr {
private int hour;
private int minute;
protected int second;
public void set(){
Scanner sc = new Scanner(System.in);
hour = sc.nextInt();
minute = sc.nextInt();
second = sc.nextInt();
}
public void set(int h,int m,int s){
hour = h;minute = m;second = s;
}
public void show(){
System.out.println(hour+":"+minute+":"+second);
}
public Clockr(){ //无参数
hour = 0; minute = 0; second = 0;
}
public Clockr(int h, int m, int s) {// 有参
hour = h;minute = m;second = s;
}
}
运行结果如下: