java小白——类的继承和组合

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;
}
 
}




运行结果如下:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值