一个 java 初学者写的博客

Java简介

java 是一个面向对象(Object Oriented,OO)的编程语言,和其他大多数的
面向对象编程语言一样,都是单根结构,面向对象的最上级水平:万物皆对象。

瞎扯1:
(即java 里所有的东西都有共同的‘祖先’ Object),父和子的说法来源于面向
对象三大特征之一的继承,说面向对象其实也就是面向 Object 这个‘祖先’,毕
竟java里所有的东西都是 Object 的后代,这个说法就有点 多态 的意思了,面
向(Object),这个参数 Object 可以是 Object 的任何一个后代,当然我们
自己创建的类也是 Object 的后代。

类和对象

类:(归)类
    成员变量,类的属性、特征
    成员方法,类的行为、动作
    (构造方法,类变成实例时进行的行为/动作)

对象:类具体的例子,类的实例
    (构造方法 new 出来的)

面向对象

封装:

    用 private 修饰 成员变量 ,隐藏类内部细节
    提供 public 修饰的 getter 和 setter 方法,作为外部访问类内 成员
    变量 的入口

    (工厂模式就是最好的应用,往下翻有工厂模式)

继承:(分)类

    将一些类的 共同属性/行为/特征/动作 抽象出来产生一个父类,便于分类
    (值得注意的是java特别符合现实中的伦理道德,每个类只允许有一个父亲,
    也就是单继承 extend )

多态:前提是继承,运行时才会发生(一个LOL战队一般都有有很多个队员,真正
    要上场了才知道谁上场谁替补,faker 都替补了:) )

    可以说是有两种: 1.赋值多态     2.传参多态
    也可以说是就一种:赋值多态。    传参多态理解为 形式参数 被赋值。

    我是理解只有一种:赋值多态,待赋值的(形式参数/对象引用),在运行
        之前被告诉是 XX的孩子 ,但是 XX 有好多个孩子,在运行时才会
        被具体告诉是 XX的哪个孩子 。

抽象类:半成品,有的本领自己还没掌握,但是寄希望于自己的后代(现实中的
    父亲望子成龙)

重写/重载:

    重写:修改方法内在,外表不修改(修身养性)

    重载:修改方法外表 和 内在,(整容 + 修身养性)

接口:(老师,教 类 本领的,是本领的集合,而且有各种老师)

    类想学什么本领就继承 什么老师 ,不过学的有好有坏,学习后掌握的程度
    也都大不相同,所以每个本领都得具体到自己身上,也就是要重写那个本领
    (想到说每一次考历史都是改写历史的同学,还有表面上体育课---)。

I/O

Input:输入到java运行环境jvm里

Output:从java运行环境jvm输出

字节流和字符流的区别:

    字节流:直接操作文件
    字符流:通过缓冲区(内存)操作文件

序列化:将一个对象变成字节序列 , 继承接口 Serializable 只是一个标识,
    表示可被序列化,(类似你拿了CET-4,就标识你这个人会一点点英语)

集合框架

想仔细了解集合框架,点这里跳转到菜鸟教程 Java-集合框架: http://www.runoob.com/java/java-collections.html

那么多东西谁能记得住,到时候点上面的链接。

ArrayList:动态数组,内存空间里连续,所以查询快,增删要维护所有的,
    所以增删慢

LinkedList:链表,内存空间里不连续,所以查询慢,因为内存空间里是用 链 
    连起来的,增删只用维护 链 就可以了,所以增删快

HashSet:不能重复,不一定是你放进去的顺序

TreeSet:不能重复,可以排序

HashMap:key-value       

List:一般用来存放数据
Set:做个排序(TreeSet),去个重(HashSet)
Map:做缓存比较好,因为 key-value 。

包装类

8个包装类,对应8中基本数据类型,便于进行对象操作。

基本数据类型-包装类-String 互相转换:

这里写图片描述

缓存值范围:

    Boolean:    (全部缓存)
    Byte:       (全部缓存)
    Character:  (<= 127 缓存)
    Short:      (-128 — 127 缓存)
    Long:       (-128 — 127缓存)
    Integer:    (-128 — 127缓存)
    Float:      (没有缓存)
    Doulbe:     (没有缓存)

缓存值范围作用:    判断该不该 new 一个对象。
    见下图:

缓存值范围作用

设计模式

工厂模式:隐藏生产细节, 想要什么找什么工厂生产

抽象工厂:将工厂抽象出父类,例如水果工厂,有苹果工厂子类,香蕉工厂子类等。

单例:单例类的对象只允许存在一个,所以就用 private 修饰构造方法,
    只允许自己 new 自己。

    饿汉:一上来就直接 new 了。
    懒汉:让一个 public static 的方法(通常是叫 getInstance )来 new,
        先判断 实例对象 是否为 null ,是 null 的话就 new ,
        不是的话就不 new 并返回 实例对象 的引用。 

装饰者:套壳。(国产浏览器:))

适配器:中间件。将两个不匹配的东西 匹配 一下。

    类适配器

猜你喜欢

转载自blog.csdn.net/ump45/article/details/82261146