`
xiaosong21
  • 浏览: 7721 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java组合与继承例子

    博客分类:
  • java
阅读更多
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(String s){
System.out.println("String Utensil");
}

Utensil(int i){
System.out.println("Utensil constructor");
}

}

class Spoon extends Utensil{
//子类可以分步初始化基类
Spoon(int i){
super(i);
System.out.println("Spoon constructor");
}
Spoon(String i){
super(i);
System.out.println("Spoon constructor");
}
}

class Fork extends Utensil{
Fork(String s ){
super(s);
//super(1);//此处不能同时同地初始化基类构造器
System.out.println("Fork.constructor");
}
}

class Kniff extends Utensil{
Kniff (int i){
super(i);//构造器中初始化基类某个构造器
System.out.println("Kniff.constructor");
}
}

class Custom{
Custom(int i ){
System.out.println("Custom.costructor");
}
}

//上面的为辅助类,下面为主要类
public class PlaceSetting extends Custom{
//该类展示了组合和继承的魅力之处
//组合开始
private Kniff kn;
private Custom cu;
private Fork fo;
private Spoon sp;
private DinnerPlate di;


//继承开始
PlaceSetting(int i){
//初始化组合器
super(i);
kn=new Kniff(i);
cu=new Custom(i);
fo=new Fork(i+"1");
sp=new Spoon(i);
di=new DinnerPlate(i);

System.out.println("PlaceSetting.constructor");

}

public static void main(String []args){

  PlaceSetting p=new PlaceSetting(2);//具有多功能的超级对象
}
}
分享到:
评论
1 楼 xiaosong21 2012-11-07  
次是think in java 中的例子改装

相关推荐

    浅析Java中的继承与组合

    总的来说,理解和合理运用继承与组合是提高Java代码质量和可维护性的关键。在实际开发过程中,应根据业务需求和设计原则灵活选择,以实现最优的代码结构。通过深入理解这两种机制,开发者可以更好地设计出可扩展、可...

    java编写的组合模式例子,建造一个工厂

    ### Java编写的组合模式例子:建造一个工厂 #### 一、引言 组合模式(Composite Pattern)是一种结构型设计模式,允许将对象组合成树形结构,并以一致的方式处理单个对象与组合对象。该模式使得客户端代码可以一致...

    100个Java经典例子后端- Java

    2. **类与对象**: Java的核心是面向对象编程,这涉及到类的定义、对象的创建、封装、继承和多态等概念。例子可能包括简单的类设计和复杂的继承体系。 3. **集合框架**: Java集合框架是存储和管理对象的重要工具,...

    java中继承和组合中图形的简单类的定义

    ### Java中的继承与组合在图形类定义中的应用 在Java编程语言中,继承与组合是面向对象编程(OOP)的两大核心概念。通过继承,一个类可以从另一个类那里继承属性和方法,从而实现代码的复用;而通过组合,则是在类...

    java中IO流例子

    - 过滤流是带有额外功能的流,它们通常继承自缓冲流或其他流,比如`DataInputStream`和`DataOutputStream`可以处理基本类型数据的读写,`PrintStream`则提供了友好的打印输出功能。 6. **多路复用流**: - `...

    Java中类的组合概念

    类的组合与继承不同,它是通过在类定义中嵌入其他类的实例来实现的,这种方式有助于提高代码的可重用性和模块化。 首先,我们来理解Java中类的概念。类是面向对象编程的基本单位,它定义了一组属性(成员变量)和...

    关于Java中的继承和组合的一个错误使用的例子

    这篇文章通过一个错误使用继承和组合的例子,探讨了这两者的区别以及如何避免不当使用带来的问题。 首先,让我们理解什么是“继承”和“组合”。继承是面向对象编程中的一个概念,允许一个类(子类)继承另一个类...

    java中慎用继承 以及java中的stack的败笔

    然而,Java中的`java.util.Stack`类是一个值得讨论的例子,它作为`Vector`的子类,体现了设计上的不完美。Stack的特点是后进先出(LIFO),而`Vector`底层使用数组实现,并且是线程安全的。由于继承,`Stack`继承了`...

    JAVA实验例子代码

    让我们通过以下几个实验例子来深入了解Java的基础知识。 例子1展示了Java程序的基本结构。一个简单的"Hello, World!"程序通常被视为入门的第一步。`public class Hello`定义了一个公共类Hello,`main`方法是程序的...

    JAVA经典例子难得一见

    根据提供的文件信息,我们可以整理出一系列与Java编程相关的知识点,这些知识点涵盖了从基本概念到具体实践的应用案例。接下来,我们将对这些知识点进行详细的解释和扩展。 ### 1. Java 平台简介 Java 是一种广泛...

    设计模式--装饰者模式java例子

    在Java中,装饰者模式通常通过继承和组合来实现,它提供了一种比继承更灵活的方式来扩展对象的功能。下面将详细讲解装饰者模式的核心概念、工作原理以及如何在Java中应用。 ### 一、装饰者模式的基本概念 1. **...

    Java语言程序设计:第四章 继承与多态.ppt

    在第四章“继承与多态”中,我们深入探讨了这两个主题。 首先,继承允许一个类(子类)从另一个类(父类)继承特性,这样子类就可以重用父类的方法和属性,而无需重新编写。例如,在提供的内容中,`Employee`类被...

    java Decorator装饰模式例子

    在Java中,装饰模式通常通过继承和组合来实现,使得代码具有更好的扩展性和灵活性。下面将详细探讨装饰模式的核心概念、结构、优点以及如何通过示例代码`decoratorDemo`来理解这一模式。 **装饰模式的核心概念** 1...

    Java编程经典例子超过300例+大厂上百面试题.zip

    例子可能涉及这些基本元素的组合与运用,以展示如何编写简单的程序。 2. **类与对象**:Java是面向对象的语言,所以类的定义、对象的创建、封装、继承和多态性是核心知识点。实例将涵盖如何设计和实现类,以及如何...

    SSH整合继承DispatchAction的简单例子

    SSH整合是Java Web开发中的一种常见技术组合,它由Spring、Struts和Hibernate三个框架组成。这个"SSH整合继承DispatchAction的简单例子"是一个演示如何将这三个框架集成在一起,并利用Struts的DispatchAction来实现...

    java Decorator模式的简单例子

    在这个例子中,`Coffee`是具体组件,`MilkDecorator`和`SugarDecorator`是具体装饰器。通过实例化不同装饰器,我们可以创建各种口味的咖啡,例如加了牛奶和糖的咖啡,同时计算出总价格。 Decorator模式的优势在于...

    关于两点三点的坐标描述Java Eclipse 继承的练习

    这时候,你可以通过继承、组合和多态等面向对象的编程技巧来构建更复杂的结构和算法。 总结来说,这个练习主要涉及了以下几个知识点: 1. 坐标系统的概念和表示。 2. Java类的定义和实例化。 3. 类的继承和多态性。...

    一个java多线程的例子.doc

    这种方式称为“线程组合”,它允许你将线程逻辑与线程本身分开,提高了代码的灵活性和可复用性。 在主类`MultiThread`中,主线程首先打印一条消息,然后创建并启动了两个线程:`thread1`和`thread2`。`thread1`是...

    Java 23种设计模式及例子

    - 描述:合成复用原则推荐使用对象组合或聚合来代替继承以实现代码复用。这种方法更灵活且减少了继承带来的负面影响。 #### 三、Java中的23种设计模式详解 1. **工厂方法模式**(Factory Method) - **描述**:...

    Java与模式(闫宏)

    “道生一,一生二,二生三,三生万物”可以类比为面向对象设计中的继承、多态和组合等基本概念。 书中的每个模式都包含了定义、问题、解决方案、参与者、协作、效果、实现和例子等多个部分,帮助读者全面理解和掌握...

Global site tag (gtag.js) - Google Analytics