java中对象属性可以是另外一个对象或对象的参考

7.对象的属性可以是另外一个对象或对象的参考 (视频下载) (全部书籍)  

通过这种方法可以迅速构建一个比较大的系统。

本章源码

class Motor {
    Light[] lights;
    Handle left, right;
    KickStart ks;
    Motor() {
        lights = new Light[2];
        lights[0] = new Light();
        lights[1] = new Light();
        left = new Handle();
        right = new Handle();
        ks=new KickStart();
    }
}

class Handle {
    Grip grip;//grip中文是把套的意思
    Handle() {
        grip = new Grip();
    }
    void turnLeft() {
        System.out.println("左转车把....");
    }
}

class Light {
    void turnon() {
        System.out.println("开灯.....");
    }
}
class KickStart {
    void kick() {
        System.out.println("踹一脚,启动.........");
    }
}
class Grip {
    void rollup() {
        System.out.println("往上转一下把套,发动.........");
    }
}
。。。。。。。。。。。。。。。。
详情请见:http://www.mark-to-win.com/index.html?content=JavaBeginner/javaUrl.html&chapter=JavaBeginner/JavaBeginner2_web.html#PropertyIsObjectOrReference

原文地址:https://www.cnblogs.com/mark-to-win/p/9691901.html

时间: 2024-07-30 12:01:57

java中对象属性可以是另外一个对象或对象的参考的相关文章

java中静态属性和和静态方法的继承问题 以及多态的实质

首先结论是:java中静态属性和和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏. 静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成的,不需继承机制就可以调用如果子类里面定义了静态方法和属性,那么这时候父类的静态方法 或属性称之为“隐藏”,你如果想要调用父类的静态方法和属性,直接通过父类名.方法名或变量名完成,至于是否继承一说,子类是有继承静态方法和属性,但是 跟实例方法和属性不太一样,存在“隐藏”的这种情况. 多态之所以能够实现是依赖于 继承 接口和 重写 .重

为什么JAVA中的属性不能覆盖而方法却可以覆盖

以前还真就没有想过这个问题,今天上课的时候 徐老师提出了这么一个问题,在java中是属性重要?还是方法重要? 徐老师形象的讲了这么一个比喻来解释了java中属性与方法的地位 李嘉诚很有钱, 李嘉诚如果在程序中 他的资产的数目就可以被认为是他的一个属性. 李嘉诚还有一个儿子,他的儿子也有资产 但他的资产是他自己的,银行也不可能 同意李嘉诚儿子的资产就因为是他的儿子就把李嘉诚的资产覆盖掉.... 所以说JAVA中最重要的是属性~~~ 一个程序最重要的是数据...这个我非常认同,因为软件无非就是信息的

Java中的属性和字段有什么区别

1.Java中的属性和字段有什么区别? 答: Java中的属性,通常可以理解为get和set方法. 字段,通常叫做“类成员”. 属性只局限于类中方法的声明,并不与类中其他成员相关.例如: void setA(String s){} String getA(){} 当一个类中拥有这样一对方法时,我们可以说,这个类中拥有一个可读写的 a 属性(注意是小写a).如果去掉了set的方法,则是可读属性,反之亦然. 类成员(字段),通常是在类中定义的类成员变量,例如: public class A{ pri

JavaScript原生对象属性和方法详解——Array对象 转载

length 设置或返回 数组中元素的数目. 注意:设置 length 属性可改变数组的大小.如果设置的值比其当前值小,数组将被截断,其尾部的元素将丢失.如果设置的值比它的当前值大,数组将增大,新的元素被添加到数组的尾部,它们的值为 undefined.所以length不一定代表数组的元素个数. var arr = new Array(3) arr[0] = "John" arr[1] = "Andy" arr[2] = "Wendy" cons

Java中反射机制和Class.forName、实例对象.class(属性)、实例对象getClass()的区别(转)

一.Java的反射机制   每个Java程序执行前都必须经过编译.加载.连接.和初始化这几个阶段,后三个阶段如下图:  其中 i.加载是指将编译后的java类文件(也就是.class文件)中的二进制数据读入内存,并将其放在运行时数据区的方法区内,然后再堆区创建一个Java.lang.Class对象,用来封装类在方法区的数据结构.即加载后最终得到的是Class对象,并且更加值得注意的是:该Java.lang.Class对象是单实例的,无论这个类创建了多少个对象,他的Class对象时唯一的!!!!.

java中.properties属性文件的使用案例源码

一.描述 java中的.properties属性文件的正确使用可以解决很多问题,比如一个登录界面要做一个记住用户登录过的用户名和密码并且放在本地方便用户登录. 二.操作步骤 1.  打开eclipse工程文件目录下的XX.properties文件,如果没有就创建一个 2. 以键-值对的方式记录用户最近登录过的用户名--密码,添加一个键值对 3. 移除一个键-值对 4. 保存这个属性文件 5. 获取属性文件的所有键 6. 获取指定键的属性值 二.源代码 //在工作主目录下(即eclipse项目目录

Java中的Serializable接口transient关键字,及对象IO

1.什么是序列化和反序列化Serialization是一种将对象转为为字节流的过程:deserialization是将字节流恢复为对象的过程. 2.什么情况下需要序列化a)当你想把的内存中的对象保存到一个文件中或者数据库中时候:b)当你想用套接字在网络上传送对象的时候:c)当你想通过RMI传输对象的时候: 3.如何实现序列化将需要序列化的类实现Serializable接口就可以了,Serializable接口和Cloneable接口一样,不含任何方法,是个标记接口. 4.代码分析 package

java中length属性、length()方法、size()方法

java中的length属性是针对数组说的,用来求数组的长度: length()方法是针对字符串String说的,用来求字符串的长度: size()方法是针对集合说的,求集合元素的个数: 原文地址:https://www.cnblogs.com/xbackjing/p/10469499.html

JavaScript原生对象属性和方法详解——String对象

length length 属性可返回字符串中的字符数目. length 是根据字符串的UTF-16编码来获取长度的,空字符串长度为0.length 不可修改. charAt() charAt() 方法可返回指定位置的字符.注意,JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串. stringObject.charAt(index) 参数index是必需的.表示字符串中某个位置的数字,即字符在字符串中的下标.字符串中第一个字符的下标是 0.如果