java复用类英文名叫reusing classes  ,重新使用的类,复用的意思就是重复使用的类,其实现方法就是我们平常使用的组合和继承;

  1、组合: has-a 的关系  (自我理解:组合就是我们平时新建一个类的对象,然后使用这个类的各种属性,这就是组合,组合只能够使用其方法,不能够改变方法)

  2、继承: is-a 的关系  (自我理解:继承就是一个类去继承另一个类,然后能够使用这个类中的方法和属性,而且能够重写父类中的方法,是接口)

  
  重写:(@Override)  重写是子类方法重新覆盖父类的方法,如果没有重写或者重载,那么子类调用一个子类没有的方法时,其实是调用父类。

      其中@Override注解可以防止在不想重载时而被意外重载。

      重写注意与重载的区别,重载是同一个类中,方法名相同,而方法参数不同,以此区分要调用的方法。

  toString()方法说明:调用一个对象可以给你返回一个字符串,比如System.out.println(object);(object是一个具体的对象)这一句就会调用toString()方法,然后返回

  一个字符串。

  final关键字:加上final关键字的基本类型,表示这个变量初始化后不会改变。类似c的define,你希望一个变量在这个程序里就是这个值不需要改变。就可以用final。

        static本来是静态初始化,和final一起用就是占据了一块不能改变的存储空间。

        final修饰方法时,可以继承,但是不能够修改,就是不能够重写;

        final修饰类是,这个类不能够被继承;

  main()方法说明:我们可以对每一个类都设置一个main()方法,即使一个类嵌套在另一个类中是也是可以的,这样可以使得每个类的单元测试变得更加简便易行。

  

 /**
* main()方法说明
* 2016/5/4
**/
package cn.Java_7; public class Text extends Text_1{ public static void main(String[] args) {
System.out.println("Text");
Text_1 text_1 = new Text_1();
text_1.main(args);
}
} class Text_1{
Text_1(){}
public static void main(String[] args){
System.out.println("Text_1");
}
}

    组合继承重写实例:

    

 /**
* 复用类 组合和继承
* 2016/5/4
*/
package cn.Java_7; class Father{
int age;
Father(){
this.age = 50;
System.out.println("Father class:Father.age"+this.age);
} public void get(){
System.out.println("Father.get");
} public String toString(){
return "Father.toString";
}
} //继承
class Son extends Father{
int age;
Son(){
this.age = 20;
System.out.println("Son class:Son.age"+this.age);
} @Override
public void get(){
System.out.println("Son.get");
} public String toString(){
return "Son.toString";
}
} //继承
class GrandSon extends Son{
int age;
GrandSon(int age){
this.age = age;
System.out.println("GrandSon class:GrandSon's age is "+this.age);
}
}
public class Father_Son {
public static void main(String[] args){
//组合语法
Father father = new Father();
System.out.println(father);
father.toString(); Son son = new Son();
System.out.println(son);
son.toString(); GrandSon grandson = new GrandSon(4);
System.out.println(grandson);
}
}

java复用类的更多相关文章

  1. [THINKING IN JAVA]复用类

    7 复用类 7.1 组合 即在一个类中使用另一个类作为成员变量,这是复用了现有程序代码的功能,而非形式. 7.2 继承 关键字:extends,这种复用是形式的复用,是一种可扩展和限制的复用: 复用: ...

  2. java 复用类的三种方式区别 组合,继承,代理的区别

    1. 组合 : 只需在新类中产生现有类的对象 .(is - a 有一个) 新类是由现有类的对象组成. (引用初始化与作用域?) 2. 继承 : 按照现有类的类型来创造新类. (has - a 有一个) ...

  3. java编程思想-复用类总结

    今天继续读<java 编程思想>,读到了复用类一章,看到总结写的很好,现贴上来,给大家分享. 继承和组合都能从现有类型生成新类型.组合一般是将现有类型作为新类型底层实现的一部分来加以复用, ...

  4. Java编程思想学习(五) 复用类

    1.继承与组合 复用类的方法有两种:继承与组合.继承就不多说了,组合就是直接在类中new一个对象. 数组也是对象,使用数组也是组合的一种. 2.初始化基类 当创建一个导出类的对象时,该对象包含一个基类 ...

  5. Java基础 -- 复用类(组合和继承)

    复用类有两种实现方式. 在新的类中产生现有类的对象,由于新的类是由现有类的对象所组成,所以这种方法称之为组合. 采用继承实现. 一  组合语法 下面创建两个类WaterSource和Sprinkler ...

  6. 【Thinking in java, 4e】复用类

    mark一篇09年的<Thinking in Java>笔记:here --> https://lawrence-zxc.github.io/2009/11/07/thinking- ...

  7. Java基础—复用类

    复用代码是Java众多引人注目的功能之一. 一般而言,实现代码重用java提供了两种方式:组合以及继承. 组合:新的类由现有类的对象所组成.(复用现有代码的功能,而非它的形式) 继承:按照现有类的类型 ...

  8. 《Think in Java》(七)复用类

    Java 中复用代码的方式就是复用类,复用类的方式有: 组合 继承 代理(并没有啥高深的含义,只是在使用类A前,新增了类B,让类B的每个方法去调用类A中对应的方法,也就是说类B代理了类A...不过我还 ...

  9. Java编程思想(四) —— 复用类

    看了老罗罗升阳的专訪,不由自主地佩服,非常年轻,我之前以为和罗永浩一个级别的年龄.也是见过的不是初高中编程的一位大牛之中的一个,专訪之后.发现老罗也是一步一个脚印的人. 别说什么难做,做不了.你根本就 ...

随机推荐

  1. openwrt设置语言的过程

    设置语言的流程一.关联的配置文件/etc/config/luci查看配置文件内容如下:root@hbg:/# cat /etc/config/luci config core 'main'       ...

  2. Lucene基础(2)

    上一篇:Lucene基础(1) 一.Lucene术语 Document, Field, Term, Query, Analyzer相信在其中大多数在之前已经理解了...对其中部分概念详细说明 Docu ...

  3. solr定时增量索引

    当数据库的数据发生改变的时候,我们不想手动的去重新添加数据库的数据导solr索引库中,所以用到定时添加索引.增删改的数据.现在写的这些都是基于我之前做的一步步到这来的. 将solr/dist下的sol ...

  4. 关于echarts使用的各种问题

    此文为作者辛苦编写,如有转发,请注明出处,谢谢 首先引入js文件,这是动态引入 <script src="http://echarts.baidu.com/build/dist/ech ...

  5. 如何用脚本快速修改IP地址(Netsh)

    如何用脚本快速修改IP地址(Netsh) 如果通过Windows的网络属性修改Ip/网关,真是太麻烦了.最近一个项目经常要切换ip,所以我写了两个脚本:c:\116.bat netsh interfa ...

  6. 使用NSURLProtocol实现UIWebView的离线缓存

    http://blog.csdn.net/youcanping2008/article/details/9240487

  7. Chapter 1 First Sight——29

    I was anxious not to be late for class on my first day. 在我第一天上学的时候我非常焦虑我会上课迟到. One of my new acquain ...

  8. find排除目录

    在linux find 进行查找的时候,有时候需要忽略某些目录不查找,可以使用 -prune 参数来进行过滤,但必须要注意要忽略的路径参数必须紧跟着搜索的路径之后,否则该参数无法起作用. 命令语法: ...

  9. Java1.5泛型指南中文版(Java1.5 Generic Tutorial)

    Java1.5泛型指南中文版(Java1.5 Generic Tutorial) 英文版pdf下载链接:http://java.sun.com/j2se/1.5/pdf/generics-tutori ...

  10. android网络编程之HttpUrlConnection的讲解--DownLoadManager基本用法

    1.DownLoadManager是Android用系统服务(Service)的方式来优化处理长时间的下载操作的一个工具类.避免了我们去处理多线程,通知栏等等. 2.不要忘记添加权限 <uses ...