java3

注解:

不影响程序的运行,可以当做注释,也能被别的程序读取

内置注解:

@Override告诉去检查这是不是在重写方法,若不是则报错

 

 

 @Deprecated:能调用但是不建议调用

SuppressWarnings:不再显示警告信息

zzz

自定义注解:

 

 

@Target:设置注解范围

下图 @Target:表示该注解只能用于方法前面

 

 

 

@Retention

 

 

下图此处表示:可以加到类和方法前面:

 

定义参数变量和数组,及默认值:

 

 

 如果自定义注解只有一个参数且名字为value:

 

 

 

 反射:

Class对象及获取方法:

所有int[]对应一个Class对象:

 

 

 

 

 

 获取类的信息:

 

 

 

若构造方法被人为定义了,则编译器不会再自己添加了

 调用方法,构造对象:

 

 

setAccessible:可以访问private属性了

 

 操作泛型:

 

 

 

操作注解:

 

 

 

动态编译:

 

 

新建文件:

 

 

 

 运行:

 

 

 或通过反射运行:

invoke第一个参数是哪个对象在调用方法,有main是static,就没有对象,对是null:

 

js是解释性语言

执行js代码:

 

 

 

放入engine中的变量msg可以被java操作,也可以被js操作。

最后2行:js改变了msg的值,然后通过java来获取值

 

 

 

 

 

 

 

 

 

 

 新建js文件并执行:

 

 

 

 

 字节码操作:

 

 

 

使用javassist类库造一个java文件并编译:

先导入javassist.jar

 

 

 

 

 

 

 生成.class文件:

 

 

利用XJad反编译:

 

 

 获得指定类的信息:

 

 

自定义方法并加入到指定类中:

 

 

 调用它:

 

 

修改指定类的方法体:

 

 给指定类添加属性和set,get方法:

 

获得构造器:

 

获得注解:

 

 

设计模式需要遵守的七大原则:

 单一职责:只做一件事

 

 

 

 

接口隔离原则:

 

 

 依赖倒转原则:

多与接口发生依赖而不是具体的类

 

 

 

  

 

 

里氏替换 :

 

 

 

 

 

 

 

 

 

 

 

 

 

 开闭原则(ocp):

创建者可以添加功能,但是使用者的代码不需要改动。

 

 

 

 

 

 

 

 

 

 

 

 

迪米特法则:

 

 

 

合成复用:

 

 

 B若是想要A的方法:

 

 

UML:统一建模语言:

符号:

 

 

 

 

 

依赖:

 

 

 

 

 

 

 

 

 

泛化:

 

 

 

 

 

 

 

 实现:

 

 

关联:

 

 聚合:

 

 

 

 组合:

 

 

 

 

 

 

 

 

 设计模式:

 

单例:一个类只有唯一一个对象实例

 

 

饿汉式(静态常量):

 

饿汉式(静态代码块) 

 

 

 以上缺点是:无法实现懒加载

懒汉式(线程不安全):

 

 

 

 懒汉式(线程安全):

 

 

双重检查(2个if)(推荐):

 

 静态内部类(推荐):

在加载外部类时不会加载静态内部类从而实现懒加载,只有当调用getIstance方法时才会加载它。

 

 

 

枚举(推荐):

 

 

 

 

 简单工厂模式:

不直接自己生产东西,而是委托一个工厂来生产东西, 到时候直接调用工厂的方法

 

 

 

Pizza类:

 

 具体的Pizza:

 

 

创建一个专门用于生产某种pizza的工厂类:

 

建立一个订购pizza的类:

 

 

 

 

参数是System.in 

 

建立一个类用于发出订购请求 :

 

使用静态进行变形:

 

 

 

 

 

工厂方法模式:

一个抽象工厂,多个具体工厂来实现方法

 

 

 

 类图:

 

 具体的pizza:

 

抽象工厂:

 

具体工厂:

 

执行:

 

抽象工厂模式:实现上面需求

 

类图:

一个工厂接口,多个具体工厂实现“”

 

接口:

 

 工厂子类:

 

 

 

  

应用: 

 

posted @ 2020-04-08 00:25  Jary霸  阅读(309)  评论(0编辑  收藏  举报