java中组合和继承关系

1、

组合是在一个类中引用其他类对象

Java中组合是"is-a"(是一个)的关系是用继承来表达的,而“has-a”(有一个)的关系则是用组合来表达的。

2.、继承的向上转型

   创建一个基类

package com.jic;

public class Base {
	public void print(){
		System.out.print("base");
	}
	public void baseMethod(){
		System.out.println("baseMethod");
	}
}

 创建一个子类

package com.jic;

public class SubBase extends Base {
	public void print(){
		System.out.print("subBase");
	}
	public void subMethod(){
		System.out.print("subMethod");
	}
	public static void main(String args[]){
		Base base = new SubBase();
		base.print();//输出“subBase”
		base.baseMethod();//调用基类方法 
//子类新增的方法subMethod()不能调用
	}
}	

 

3、再论组合和继承

到底是该用组合还是用继承,一个最清晰的判断方法就是问一问自己是否需要从新类向上转型。如果必须向上转型,则继承是必要的;但如果不需要,则应该好好考虑自己是否需要继承。

你可能感兴趣的:(java)