复用类_组合语法和继承语法
复用类 — 反复使用
组合语法
类中的成员是由其他类的成员组成的
一个类放在另一个类里作为对象去使用
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 : 子类不可更改方法