`
甜甜的眼泪
  • 浏览: 16275 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

java复用类之组合

阅读更多

    在面向对象编程中,使用类而不破坏现有的代码的方法有两种:组合和继承,在这篇文章中我带领大家总结感受一下。

  1   组合:在新的类中产生现有类的对象,新的类由现有类的对象组成。组合一般用于在新类用使用已有类的功能而不是接口就是新类用户看到的只是为新类所定义的接口。例如,假如你需要某个对象,它具有多个String对象,几个基本类型数据,以及另一个类的对象。他对于非基本类型的对象,必须将其置于新的类中。

public class SprinkleSystem{
	private String value1,value2,value3,value4;
	private WaterSource source =new WaterSource();
	private int i;
	private float f;
	public String toString(){
		return "value1="+value1+""+"value2="+value2+""+"value3="+value3+""+
				"value4="+value4+"\n"+"i="+i+"f="+f+""+"source="+source;
	}

	public static void main(String []args){
		SprinkleSystem sprinklers=new SprinkleSystem();
		System.out.println(sprinklers);

	} 

}

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

  由上面的代码,我们发现一个方法很特殊,那就是toString,他是Object中的方法,一般查看对象的属性和状态时会调用该方法,并且一般都会重写该方法,方法内写要查看某对象的属性和

状态。打印对象时默认执行toString方法。

    按照规定,一方面类域为基本类型时会被自动初始化为0,而对象引用则会被自动初始化为null;另一方面,类中的所有变量会在所有函数调用之前按照定义的顺序(若同时存在static和非static型变量时,遵循先static后非static)得到合理的初始化

分享到:
评论

相关推荐

    Java编程复用类代码详解

    组合是 Java 编程复用类代码的一种方法,通过将一个类的对象作为另一个类的成员变量来实现。例如,下面是一个简单的示例: ```java public class TV { Show show; public String toString(){ return "showgirl";...

    类的组合和接口的实现

    - **代码复用**:每个组件类可以单独使用,也可以在不同上下文中组合。 - **松耦合**:改变或扩展组件类不会影响组合它的类。 - **增强可读性**:将复杂逻辑分散到更小、更专注的类中,使得代码更容易理解。 2. ...

    Java类思维导图

    总而言之,"Java思维导图"可能涵盖了这些核心概念,包括但不限于类的定义、继承、接口、访问修饰符、关联关系、聚合与组合、方法以及面向对象的三大原则。通过深入学习这张图,开发者可以更好地理解和应用Java的类...

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

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

    java 使用类作为成员变量

    如果`Person`类是`Student`类的父类,那么`Student`可以继承`Person`的属性和方法,进一步增强代码的复用性。 6. **注意事项**: - 避免过度使用类作为成员变量,可能导致复杂性和内存消耗增加。 - 考虑使用接口...

    JAVA_API1.6文档(中文)

    java.security.acl 此包中的类和接口已经被 java.security 包中的类取代。 java.security.cert 提供用于解析和管理证书、证书撤消列表 (CRL) 和证书路径的类和接口。 java.security.interfaces 提供的接口用于生成...

    类与对象-java实验报告

    本次实验的目的是深入理解和掌握Java编程语言中的类与对象的概念,通过设计和实现一系列几何图形类,包括点、直线、三角形、矩形、正方形、圆形和椭圆,来实践面向对象的设计方法。实验要求学生不仅能够创建数据域和...

    整理的java工具类

    Java工具类是程序员在开发过程中经常使用的一类代码集合,它们提供了一系列静态方法,用于解决常见的编程问题,提高代码的可复用性和效率。这里我们主要关注两个压缩包中的内容:“实现了排列组合算法的类(JAVA)....

    30个java工具类.rar

    Java工具类是编程中不可或缺的部分,它们提供了许多实用的功能,帮助开发者提高代码的复用性和效率。这个"30个java工具类.rar"压缩包包含了多个常用的Java工具类,覆盖了字符串处理、时间日期操作、网络通信以及...

    java编程中的类和对象的详细介绍

    - **继承**:允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码的复用和扩展。例如,`racing_cycle` 类继承自 `bike` 类,获取了 `bike` 类的特性并可能增加自己独有的功能。 - **多态**:多态性...

    JAVA设计模式

    在Java中,可以使用类适配器或对象适配器模式,通过继承或组合来实现。 8. **装饰器模式(Decorator)** 装饰器模式动态地给对象添加一些额外的职责,它可以在不改变对象自身的基础上扩展其功能。Java的IO流类库...

    [转]两个java写的组合算法

    在这个场景中,我们有两个Java编写的类,名为"choose.java"和"Comb.java",它们可能是实现组合算法的不同方法。下面将详细探讨这两个类可能涉及的Java编程知识和组合算法概念。 首先,"choose.java"可能实现了组合...

    Java 接口 内部类

    总结一下,Java接口和内部类提供了丰富的抽象和组合能力。接口用于定义行为规范,而内部类则用于增强类的功能和封装复杂性。通过合理使用这两种机制,开发者可以构建出灵活、可扩展且易于维护的代码结构。在实际开发...

    java myinput输入类

    在Java编程语言中,输入和输出是程序与外部世界交互的基本功能...通过这种方式,`myinput`类抽象了输入操作,使得代码更加模块化,也易于维护和复用。在实际项目中,自定义输入类可以大大提高代码的可读性和可维护性。

    java类与类之间的关系

    在Java编程语言中,类与类之间的关系是构建复杂系统结构的基础,这些关系不仅限于继承和封装,还包括了关联、依赖、聚合和组合等多种形式。以下是对这些关系的深入探讨: ### 1. 关联关系(Association) 关联关系...

    Java设计一个银行帐户类(继承与多态)

    这里虽然没有明确的继承关系,但可以通过组合(Composition)的方式复用`BankCount`类的功能。继承是多态的基础,多态性允许子类对象替换父类对象,且能够调用父类的公共方法,同时也可使用子类特有的方法。 实验中...

    java 生成固定 java模板类导入exc文件

    模板类是一种设计模式,用于减少代码重复,提高代码复用性。它通过定义一些通用的结构和行为,然后根据具体需求进行实例化。在Java中,我们可以使用模板方法设计模式或泛型来实现。模板方法模式定义了一个操作中的...

    java类与对象教学(1)

    在Java编程语言中,"类与对象教学(1)"是一个重要的学习主题,它涵盖了面向对象编程的基本概念,对比了面向对象编程(OOP)与面向过程编程(POP),并深入探讨了类、对象以及如何在实际开发中创建和使用它们。...

    Java类加载及SPI机制.pdf

    这些类加载器并不是继承关系,而是通过组合关系复用父加载器的相关实现。为了避免重复加载类和防止核心类库被篡改,Java采用了委派模式来加载类。即如果一个类加载器收到了类加载的请求,它首先不会自己尝试去加载这...

    java设计模式之适配器模式

    在Java中,无论是通过类继承还是对象组合,都能轻松地实现适配器模式,提升代码的灵活性和可扩展性。在实际项目中,理解并恰当运用适配器模式,对于解决接口兼容问题、降低耦合度具有重要意义。

Global site tag (gtag.js) - Google Analytics