java notes 07

复用类_组合语法和继承语法

复用类 — 反复使用

组合语法

类中的成员是由其他类的成员组成的
一个类放在另一个类里作为对象去使用

public class SprinklerSystem{
	private String value1,value2,value3,value4;
	private WaterSource water=new WaterSource;
	private int i;
	private float f;
	public String toString(){
		return "value:"+value1+value2+value3+value4+i+""+f+source;
	}
	public static void main(String[] args){
		SprinklerSystem ss=new SprinklerSystem();
		System.out.println(ss);
	}
}
class WaterSource{
	private String s;
	WaterSource(){
		System.out.println("WaterSource()");
		s="con";
	}
	public String toString(){
		return s;
	}
}
public class Bath{
	private String s1="happy",s2="happy",s3,s4;
	private Soap castille;
	private int i;
	private float toy;
	public Bath(){
		System.out.print("Bath()");
		s3="joy";
		toy=3.14f;
		castille=new Soap();
	}
	{	i=47;
	}
	public String toString(){
		if(s4==null){
			s4="joy";
		}
		return s1+s2+s3+s4+i+""+toy+castille;
	}
	public static void main(String[] args){
		Bath b=new Bath();
		System.out.println(b);
	}
}

class Soap{
	private String s;
	Soap(){
		System.out.println("Soap()");
		s="Con";
	}
	public String toString(){
		return s;
	}
}

继承语法

类中的成员是继承来的

public class det extends cleanser{
	//overwrite
	public void scrub(){
		append("det.scrub()");
		super.scrub();//因为重写了父类的方法所以被覆盖了 super关键字用于指定调用父类的(可能别重写了的)方法
	}
	//add function
	public void foam(){
		append("foam()");
	}
	public static void main(String[] args){
		det x=new det();
		x.dilute();
		x.apply();
		x.scrub();
		x.foam();
		System.out.println(x);
		System.out.println("====super class====");
		cleanser.main(args);
	}	
}
class cleanser{
	private String s="cleanser";
	public void append(String a){s+=a;}
	public void dilute(){append("dilute()");}
	public void apply(){append("applly()");}
	public void scrub(){append("scrub()");}
	public String toString(){return s;}
	public static void main(String[] args){
		cleanser c=new cleanser();
		c.dilute();
		c.apply();
		c.scrub();
		System.out.println(c);
	}	
}

复用类_final关键字

基本数据类型设置为final–>常量
引用数据类型设置为final–>指向的地址不变 但地址里的内容可以改变

未初始化的final在使用前可进行一次赋值
可以用在参数中 说明参数是不可以修改的

把方法设置为final : 子类不可更改方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值