随笔分类 -  Java-OO研究

摘要:面向对象设计有一个原则“优先使用对象组合,而不是继承”。 下面是两者优缺点的比较: 组 合 关 系 继 承 关 系 优点:不破坏封装,整体类与局部类之间松耦合,彼此相对独立 缺点:破坏封装,子类与父类之间紧密耦合,子类依赖于父类的实现,子类缺乏独立性 优点:具有较好的可扩展性 缺点:支持扩展,但是往 阅读全文
posted @ 2018-05-19 03:57 findumars 阅读(341) 评论(0) 推荐(0) 编辑
摘要:一言不合就写socket的post和get请求。写个桌面程序,利用java写get和post请求。测试成功; SocketReq.java [java] view plain copy package com.test.CipherIndex; import java.io.BufferedInpu 阅读全文
posted @ 2017-12-06 23:37 findumars 阅读(381) 评论(0) 推荐(0) 编辑
摘要:摘要: 从字节码和JVM的角度解析Java核心类String的不可变特性 凯伦说,公众号ID: KailunTalk,努力写出最优质的技术文章,欢迎关注探讨。 1. 前言 最近看到几个有趣的关于Java核心类String的问题。 String类是如何实现其不可变的特性的,设计成不可变的好处在哪里。 阅读全文
posted @ 2017-07-27 01:58 findumars 阅读(234) 评论(0) 推荐(0) 编辑
摘要:Annotation在Java的世界正铺天盖地展开,有空写这一篇简单的annotations的文章,算是关于Annotation入门的文章吧,希望能各位们能抛砖,共同学习...... 不讲废话了,实践才是硬道理. 第一部分:了解一下java1.5起默认的三个annotation类型: 一个是@Ove 阅读全文
posted @ 2017-02-03 22:14 findumars 阅读(399) 评论(0) 推荐(0) 编辑
摘要:SIGNAL-SLOT是Qt的一大特色,使用起来十分方便。在传统的AWT和Swing编程中,我们都是为要在 监听的对象上添加Listener监听器。被监听对象中保存有Listener的列表,当相关事件发生时,被监听 对象会通知所有Listener。而在Qt中,我们只需通过connect方法连接两个对 阅读全文
posted @ 2017-01-04 19:07 findumars 阅读(789) 评论(0) 推荐(0) 编辑
摘要:在处理大文件时,如果利用普通的FileInputStream 或者FileOutputStream 抑或RandomAccessFile 来进行频繁的读写操作,都将导致进程因频繁读写外存而降低速度.如下为一个对比实验。 [java] view plain copy package test; imp 阅读全文
posted @ 2016-12-08 00:06 findumars 阅读(472) 评论(0) 推荐(0) 编辑
摘要:因为看Delphi书的时候,就产生了疑惑。老讲调用父类虚函数,但是万一需要调用祖父虚函数怎么办?后来又经常在C++里看到,就更疑惑了 利用了 Delphi 能够创建纯虚函数实例的特性记录下了TA的函数地址然后替换其Data的值为Self,然后在需要的时候再调用利用了两点:TMethod和Delphi 阅读全文
posted @ 2016-12-07 22:32 findumars 阅读(2015) 评论(0) 推荐(0) 编辑
摘要:本文详细介绍JAVA技术专题综述之线程篇 编写具有多线程能力的程序经常会用到的方法有: run(),start(),wait(),notify(),notifyAll(),sleep(),yield(),join() 还有一个重要的关键字:synchronized 本文将对以上内容进行讲解。 一:r 阅读全文
posted @ 2016-02-02 23:07 findumars 阅读(335) 评论(0) 推荐(0) 编辑
摘要:java学习:彻底明白Java的IO系统 文章来源:互联网 一. Input和Output1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Input和Out stream)都包括两种类型:1.1 以字节为导向的stre 阅读全文
posted @ 2016-02-02 23:04 findumars 阅读(449) 评论(0) 推荐(0) 编辑
摘要:java中传值及引伸深度克隆的思考 大家都知道java中没有指针。难道java真的没有指针吗?句柄是什么?变量地址在哪里?没有地址的话简直不可想象! java中内存的分配方式有两种,一种是在堆中分配,一种是在堆栈中分配,所有new出来的对象都是在堆中分配的,函数中参数的传递是在栈中分配的。通常情况下 阅读全文
posted @ 2016-01-27 20:57 findumars 阅读(517) 评论(0) 推荐(0) 编辑
摘要:"=="和equals方法究竟有什么区别?(单独把一个东西说清楚,然后再说清楚另一个,这样,它们的区别自然就出来了,混在一起说,则很难说清楚)==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操... 阅读全文
posted @ 2014-05-23 06:56 findumars 阅读(25084) 评论(4) 推荐(10) 编辑
摘要:作者按:虚拟函数的概念早就滚瓜烂熟了。但是今天面试发现:1.同名属性,2.同名普通函数,3.同名静态函数,是否被覆盖的问题。请看下面三个例子:例子1:测试父类的属性是否存在和被完全覆盖class A{ public int i; A() { i=1; }}class B extends A{ pub... 阅读全文
posted @ 2013-09-03 05:07 findumars 阅读(2283) 评论(0) 推荐(1) 编辑
摘要:C:\J\TIJ\c10>java Main 1 2 3打印main方法中的输入参数,有3个参数123 根本编译不过。 阅读全文
posted @ 2013-08-11 05:57 findumars 阅读(802) 评论(0) 推荐(0) 编辑
摘要:String String里的==和equalsJava String “equals”就是比较字符串的内容,由于以上程序中的所有字符串内容都是“test”,所以用equals比较它们都会相等。但是你是否知道Java中基类Obejct的equals方法跟“==”方法其实是一致的呢?只不过是Strin 阅读全文
posted @ 2013-08-10 00:12 findumars 阅读(359) 评论(0) 推荐(0) 编辑
摘要:this的用法class Banana { void f(int i) {} }Banana a = new Banana(), b = new Banana();a.f(1);b.f(2);若只有一个名叫f()的方法,它怎样才能知道自己是为a还是为b调用的呢?为了能用简便的、面向对象的语法来书写代... 阅读全文
posted @ 2013-08-09 18:37 findumars 阅读(403) 评论(0) 推荐(0) 编辑
摘要:另外有一篇:java构造函数的执行顺序 http://www.blogjava.net/rocket/archive/2008/05/27/203165.html 若创建一个没有构造函数的类,则编译程序会帮我们自动创建一个默认构造函数。如果已经定义了一个构造函数(无论是否有自变量),编译程序都不会帮 阅读全文
posted @ 2013-08-09 07:56 findumars 阅读(11111) 评论(0) 推荐(0) 编辑
摘要://: c10:Shapes.java// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002// www.BruceEckel.com. See copyright notice in CopyRight.txt.class Shape { ... 阅读全文
posted @ 2013-08-09 07:08 findumars 阅读(3127) 评论(0) 推荐(0) 编辑
摘要:=======================原理速记===================================equals重载后比较内容,==比较指针。否则equls等同于== (Java里源码如此)所有的“==”都是基于指针级的,也就是说只有它们指向的是同一个对象才被认为是相等.而对... 阅读全文
posted @ 2013-08-06 16:13 findumars 阅读(1084) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示