Thinking in Java(6)-combinning composition and inheritance
2016-11-02 15:45
447 查看
一个结合composition 和inheritance的简单例子:
要注意,子类中的构造函数应该在基类的构造函数之后调用。
运行结果为:
class Plate { Plate(int i) { System.out.println("Plate constructor"); } } class DinnerPlate extends Plate { DinnerPlate(int i) { super(i); System.out.println("DinnerPlate constructor"); } } class Utensil { Utensil(int i) { System.out.println("Utensil constructor"); } } class Spoon extends Utensil { Spoon (int i) { super(i); System.out.println("Spoon constructor"); } } class Fork extends Utensil { Fork(int i){ super(i); System.out.println("Fork constructor"); } } class Knife extends Utensil { Knife(int i){ super(i); System.out.println("Knife constructor"); } } class Custom { Custom(int i) { System.out.println("Custom constructor"); } } public class PlaceSetting extends Custom { private Spoon sp; private Fork frk; private Knife kn; private DinnerPlate pl; public PlaceSetting(int i) { super(i + 1); sp = new Spoon(i + 2); frk = new Fork(i + 3); kn = new Knife(i + 4); pl = new DinnerPlate(i + 5); System.out.println("PlaceSetting constructor"); } public static void main(String[] args) { PlaceSetting x = new PlaceSetting(1); } }
要注意,子类中的构造函数应该在基类的构造函数之后调用。
运行结果为:
Custom constructor Utensil constructor Spoon constructor Utensil constructor Fork constructor Utensil constructor Knife constructor Plate constructor DinnerPlate constructor PlaceSetting constructor
相关文章推荐
- thinking in java(V)--composition and inheritance
- Java-Choose between Composition and Inheritance
- thinking in java 学习笔记之Composition vs Inheritance
- Multiple Inheritance in Java and Composition vs Inheritance
- Thinking in Java(8)-inheritance and cleanup
- Java Sound Program( Capture And Playback) from developer.com
- Java Interfaces And Inheritance
- java.lang.Class Cast Exception: com.lidroid.xutils.bitmap.core.Async Drawable cannot be cast to andr
- thinking in java(VII)--interfaces and inner classes
- How to use composition and inheritance in visual c# ?
- Default Methods in Java 8 and Multiple Inheritance
- 看了thinking in java 的initialize and cleanup 的一点总结
- Chapter 6:Inheritance and Composition
- invalid comparison: com.XXX.shop.util.PageUtil and java.lang.String
- Difference between Association, Composition and Aggregation in Java, UML and Object Oriented Program
- 百度地图报错原因tried Java_com_baidu_platform_comjni_engine_JNIEngine_initClass and Java_com
- thinking in java(III)--initialization and cleanup
- scala - composition and inheritance
- 关于mac中运行ant的错误 java.lang.Error: Cannot load com.apple.laf.AquaLookAndFeel
- Understanding Instance and Class Members(Reprint from http://download.oracle.com/javase/tutorial/ja)