多态性:
指对象在运行过程中的多种形态。
面向对象三大特性之一。
分为2类:方法的重载与重写;对象的多态性。
在编程时,针对抽象类型的编写代码,称为面向抽象编程(或面向接口编程)。
向上转型:
格式:父类 父类对象=子类实例;
用父类的引用指向子类对象(用大的类型来表示小的类型)。
向下转型:
格式:子类 子类对象=(子类)父类实例;
将父类实例转为子类实例。(强制转换)
instanceof关键字:
用于检查对象是否为指定的类型,通常在把父类引用强制转换为子类引用时要使用,以避免发生类型转换异常。
语法格式:对象 instanceof 类型 (成立的条件是,对象本身及对象的父类型,都可以通过检查)
返回boolean类型值
方法重载:
同一个类中允许方法名相同,只要这些方法的参数个数或类型不同。
模板方法模式:
定义一个操作中算法的骨架,将一些可变部分的实现延迟到子类中。
子类可以不改变一个算法的结构,重新定义该算法的某些特定步骤。
策略模式:
定义一系列算法,将每一种算法封装起来并可以相互替换使用,
策略模式让算法独立于使用它的客户应用而独立变化。
把可变的行为抽象出来,定义一系列的算法。
Object类:
是类层次结构的根类。
public String toString():返回该对象的字符串表示。当打印对象的名字,会自动调用。
public boolean equals(Object obj):指示其他某个对象是否与此对象“相等”。对于非空对象引用上实现相等关系。
简单工厂模式:
由一个工厂对象决定创建出哪一种产品类的实例。
静态代理模式:
代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。
适配器模式:
将一个类的接口转换成客户希望的另一个接口。
内部类:
在一个类的内部定义的类。
成员内部类定义格式:(直接在类中定义的类)
class Outer{
class Inner{}
}
Outer out=new Outer();//产生外部类实例
Outer.Inner in=null;//声明内部类对象
in=out.new Inner();//实例化内部类对象(不建议这么用)
建议在外部类中定义一个方法,对外提供访问内部类的接口。
方法内部类:在一个类中的方法内定义。
只能在定义该内部类的方法内实例化,不可以在此方法外对其实例化。
方法内部类对象不能使用该内部类所在方法的非final局部变量。
静态内部类:静态的含义是该内部类可以像其他静态成员一样,没有外部类对象时,也可以访问它。不依赖外部类对象。
匿名内部类:没有名字的内部类。(继承式、接口式、参数式)
不能有构造方法,只能有一个实例。
不能定义任何静态成员、静态方法。
基本数据类型包装类:
int的包装类:Integer char的包装类:Character
float的包装类:Float double的包装类:Double
boolean的包装类:Boolean byte的包装类:Byte
short的包装类:Short long的包装类:Long
装箱操作:将一个基本数据类型转换为包装类。
拆箱操作:将一个包装类转换为基本数据类型。(...Value)
享元模式:它使用共享对象,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似对象,它适合用于当大量对象只是重复因而导致无法令人接受的使用大量内存。
包与访问修饰符:
包:用于对多个java源文件的管理。
定义一个包:
package com.vince;
OO原则:
开闭原则、合成/聚合复用原则、依赖倒置原则、接口隔离原则、迪米特原则、里氏替换原则、单一职责原则。
List集合:
定义方法:List<E> list=new ArrayList<E>();
----------------------------------------------------------------------------------------------------------------------------------------------------
(〃>_<;〃)我觉得自己需要抢救一下,云里雾里的。