java复用类
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复用类的更多相关文章
- [THINKING IN JAVA]复用类
7 复用类 7.1 组合 即在一个类中使用另一个类作为成员变量,这是复用了现有程序代码的功能,而非形式. 7.2 继承 关键字:extends,这种复用是形式的复用,是一种可扩展和限制的复用: 复用: ...
- java 复用类的三种方式区别 组合,继承,代理的区别
1. 组合 : 只需在新类中产生现有类的对象 .(is - a 有一个) 新类是由现有类的对象组成. (引用初始化与作用域?) 2. 继承 : 按照现有类的类型来创造新类. (has - a 有一个) ...
- java编程思想-复用类总结
今天继续读<java 编程思想>,读到了复用类一章,看到总结写的很好,现贴上来,给大家分享. 继承和组合都能从现有类型生成新类型.组合一般是将现有类型作为新类型底层实现的一部分来加以复用, ...
- Java编程思想学习(五) 复用类
1.继承与组合 复用类的方法有两种:继承与组合.继承就不多说了,组合就是直接在类中new一个对象. 数组也是对象,使用数组也是组合的一种. 2.初始化基类 当创建一个导出类的对象时,该对象包含一个基类 ...
- Java基础 -- 复用类(组合和继承)
复用类有两种实现方式. 在新的类中产生现有类的对象,由于新的类是由现有类的对象所组成,所以这种方法称之为组合. 采用继承实现. 一 组合语法 下面创建两个类WaterSource和Sprinkler ...
- 【Thinking in java, 4e】复用类
mark一篇09年的<Thinking in Java>笔记:here --> https://lawrence-zxc.github.io/2009/11/07/thinking- ...
- Java基础—复用类
复用代码是Java众多引人注目的功能之一. 一般而言,实现代码重用java提供了两种方式:组合以及继承. 组合:新的类由现有类的对象所组成.(复用现有代码的功能,而非它的形式) 继承:按照现有类的类型 ...
- 《Think in Java》(七)复用类
Java 中复用代码的方式就是复用类,复用类的方式有: 组合 继承 代理(并没有啥高深的含义,只是在使用类A前,新增了类B,让类B的每个方法去调用类A中对应的方法,也就是说类B代理了类A...不过我还 ...
- Java编程思想(四) —— 复用类
看了老罗罗升阳的专訪,不由自主地佩服,非常年轻,我之前以为和罗永浩一个级别的年龄.也是见过的不是初高中编程的一位大牛之中的一个,专訪之后.发现老罗也是一步一个脚印的人. 别说什么难做,做不了.你根本就 ...
随机推荐
- JAVA中计算两个时间相差多少 天,时,分,秒
1: import java.util.Date; 2: 3: public class ShowTimeInterval{ 4: public void ShowTimeInterval(Date ...
- Shell脚本中让进程休眠的方法(sleep用法)
有时候写Shell的脚本,用于顺序执行一系列的程序. 有些程序在停止之后并没能立即退出,就例如有一个 tomcat 挂了,就算是用 kill -9 命令也还没瞬间就结束掉. 这么如果 shell 还没 ...
- nginx安装与应用
一.nginx的安装与启动: 1.安装依赖库.nginx的一些模块需要依赖其他第三方库,通常有pcre库(perl compatible regular expression,perl兼容正则表达式, ...
- was性能调优
数据库设置 使用此页面来指定数据库会话支持的设置. 要查看此管理控制台页面,请单击服务器 > 服务器类型 > WebSphere 应用程序服务器 > server_name > ...
- WCF配置文件的问题(位置)
引用过了远程的WCF服务,会自动生成配置文件,但是这个配置的位置,尽量放在applicationSettings的前面 刚才测试了,貌似放后面,会报错(执行的时候,这个问题,需要继续试验) (待验证) ...
- WebService测试方案
1.WebService简介 WebService是一种革命性的分布式计算技术,本质上就是网络上可用的API,可以直接在网络环境调用的方法. WebService常用的框架有axis.xfire.cx ...
- 关于js中原型链的理解
我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,一个对象.无论什么时候,我们只要创建一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性对象 ...
- 第三十七节,hashlib加密模块
在使用hashlib模块时需要先 import hashlib 引入模块 用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA ...
- js第一天 inner html value
<html> <head> <meta charset="utf-8" /> <title></title> <s ...
- JavaScript高级程序设计:第二十一章
第二十一章 Ajax与Comet 一.XMLHttpRequest对象 1.XHT的用法 在使用XHR对象时,要调用的第一个方法时open( ),它接受3个参数:要发送的请求的类型.请求的URL和表示 ...