1.Vector 类在 java 中可以实现自动增长的对象数组; vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。
2.static 静态的 (修饰属性)修饰的是类变量 ;对象共用一个静态域,其中一个对象对此属性进行修改,会导致其他对象对此属性的一个调用;静态的变量可以直接通过“类.类变量”的形式来调用;
(修饰方法)随着类的加载而加载,在内存中也是独一份,可以直接通过“类.类方法”的方式调用,生命周期要早于非静态的结构,同事被回收也要晚于非静态的结构;
3.单例模式 class Singleton{
//1.私有化构造器,在类的外部不能够调用此构造器
private Singleton(){
}
//2.在类的内部创建一个类的实例
private static Singleton instance = new Singleton();
//3.私有化此对象,通过公共的方法来调用
//4.此公共的方法,只能通过类来调用,因为设置为static的,同时类的实例也必须为static声明的
private static Singleton getInstance(){
return instance;
}
}
//懒汉式---可能存在线程安全问题
class Singleton{
//1.私有化构造器,在类的外部不能够调用此构造器
private Singleton(){
}
//2.在类的内部创建一个类的实例
private static Singleton instance = null;
//3.私有化此对象,通过公共的方法来调用
//4.此公共的方法,只能通过类来调用,因为设置为static的,同时类的实例也必须为static声明的
private static Singleton getInstance(){
if(instance == null){
instance = new Singleton();
}
return instance;
}
}
4.interface(接口-没有构造器)常量:所有常量都用public static final 抽象方法:所有的都用public abstract修饰
接口定义的就是一种功能。此功能可以被类所实现(implement)
例如:class CC extends DD implement AA;接口与接口之间实现多继承
5.类的第四个成员,初始化块 order
静态代码块:静态代码块要早于非静态代码块
非静态代码块:
{
orderId
orderName
}
没创建一次类对象,加载一次非静态代码块;非静态代码块的执行要早于构造器
5.final:最终的 final修饰类:这个类不能被继承 例如:String类、StringBuffer类、System类;final修饰方法,不能被重写。此常量在哪里赋值,此常量不能使用默认初始化,可以显式的赋值----变量用static final修饰:全局常量
6.abstract类 1)不可以被实例化 2)有构造器(凡是类,都有构造器) 抽象方法目的,只保留方法的功能,而具体的执行,交给继承抽象类的子类
7.模板方法设计模式 当功能内部一部分实现是确定,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。
8.通过接口可以实现不相关类的相同行为,而不需要考虑这些类之间的层次关系;通过接口可以指明多个类需要实现的方法,一般用于定义对象的扩张功能;接口主要用来定义规范。解除耦合关系。
9.工厂方法的设计模式;接口之代理模式:
package com.hdty.java1;
public class TestProxy {
public static void main(String[] args) {
Object obj = new ProxyObject();
obj.action();
}
}
interface Object{
void action();
}
//代理类
class ProxyObject implements Object{
Object obj;
public ProxyObject(){
System.out.println("代理类创建成功");
obj = new ObjctImpl();
}
@Override
public void action() {
System.out.println("代理类开始执行");
obj.action();
System.out.println("代理类执行结束");
}
}
//被代理类
class ObjctImpl implements Object{
@Override
public void action() {
System.out.println("被代理类开始执行");
System.out.println("==具体操作==");
System.out.println("被代理类执行结束");
}
}
结果为:
代理类创建成功
代理类开始执行
被代理类开始执行
==具体操作==
被代理类执行结束
代理类执行结束
2.static 静态的 (修饰属性)修饰的是类变量 ;对象共用一个静态域,其中一个对象对此属性进行修改,会导致其他对象对此属性的一个调用;静态的变量可以直接通过“类.类变量”的形式来调用;
(修饰方法)随着类的加载而加载,在内存中也是独一份,可以直接通过“类.类方法”的方式调用,生命周期要早于非静态的结构,同事被回收也要晚于非静态的结构;
3.单例模式 class Singleton{
//1.私有化构造器,在类的外部不能够调用此构造器
private Singleton(){
}
//2.在类的内部创建一个类的实例
private static Singleton instance = new Singleton();
//3.私有化此对象,通过公共的方法来调用
//4.此公共的方法,只能通过类来调用,因为设置为static的,同时类的实例也必须为static声明的
private static Singleton getInstance(){
return instance;
}
}
//懒汉式---可能存在线程安全问题
class Singleton{
//1.私有化构造器,在类的外部不能够调用此构造器
private Singleton(){
}
//2.在类的内部创建一个类的实例
private static Singleton instance = null;
//3.私有化此对象,通过公共的方法来调用
//4.此公共的方法,只能通过类来调用,因为设置为static的,同时类的实例也必须为static声明的
private static Singleton getInstance(){
if(instance == null){
instance = new Singleton();
}
return instance;
}
}
4.interface(接口-没有构造器)常量:所有常量都用public static final 抽象方法:所有的都用public abstract修饰
接口定义的就是一种功能。此功能可以被类所实现(implement)
例如:class CC extends DD implement AA;接口与接口之间实现多继承
5.类的第四个成员,初始化块 order
静态代码块:静态代码块要早于非静态代码块
非静态代码块:
{
orderId
orderName
}
没创建一次类对象,加载一次非静态代码块;非静态代码块的执行要早于构造器
5.final:最终的 final修饰类:这个类不能被继承 例如:String类、StringBuffer类、System类;final修饰方法,不能被重写。此常量在哪里赋值,此常量不能使用默认初始化,可以显式的赋值----变量用static final修饰:全局常量
6.abstract类 1)不可以被实例化 2)有构造器(凡是类,都有构造器) 抽象方法目的,只保留方法的功能,而具体的执行,交给继承抽象类的子类
7.模板方法设计模式 当功能内部一部分实现是确定,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。
8.通过接口可以实现不相关类的相同行为,而不需要考虑这些类之间的层次关系;通过接口可以指明多个类需要实现的方法,一般用于定义对象的扩张功能;接口主要用来定义规范。解除耦合关系。
9.工厂方法的设计模式;接口之代理模式:
package com.hdty.java1;
public class TestProxy {
public static void main(String[] args) {
Object obj = new ProxyObject();
obj.action();
}
}
interface Object{
void action();
}
//代理类
class ProxyObject implements Object{
Object obj;
public ProxyObject(){
System.out.println("代理类创建成功");
obj = new ObjctImpl();
}
@Override
public void action() {
System.out.println("代理类开始执行");
obj.action();
System.out.println("代理类执行结束");
}
}
//被代理类
class ObjctImpl implements Object{
@Override
public void action() {
System.out.println("被代理类开始执行");
System.out.println("==具体操作==");
System.out.println("被代理类执行结束");
}
}
结果为:
代理类创建成功
代理类开始执行
被代理类开始执行
==具体操作==
被代理类执行结束
代理类执行结束