- 博客(7)
- 收藏
- 关注
原创 代理模式之静态代理
代理模式分为静态代理和动态代理,本篇文章谈谈我对于静态代理的理解。 还是先上代码 //一个名为网络的接口 interface NetWork{ public void browser(); } //被代理类,网络服务 class Server implements NetWork{ @Override public void browser() { System.out.println("被代理类"); } } //代理类 class ProxyServer implements NetWo
2020-12-15 18:12:26
118
原创 细分final关键字的用法和注意点
final关键字可以修饰的是方法、变量、类。 1.用final修饰的类不能再被其他类继承,譬如:String类 为什么要把String类声明成final? 理由是:该类能实现的功能均已经被实现,不需要再经过重写扩展其功能 2.用final修饰的方法表示此方法不能再被子类重写,譬如:Object类中的getClass()方法 3.用final修饰的属性(即在类中用final修饰变量),此时该属性变为一个常量,不能再做修改。 那么在用final修饰了属性之后,属性如何赋值? 显式初始化:即在定义某个属性同时赋值
2020-12-07 15:30:17
255
原创 浅谈static关键字(三)
本文的前前篇(一) 本文的前一篇(二) static关键字修饰方法与修饰属性有类似的特征,它: 1.也是随着类的加载而加载 2.也可以通过类名来直接调用 3.静态方法中只能调用静态的方法、属性 非静态方法中可以调用静态/非静态的方法、属性 引入一个生命周期概念便于理解: 类的生命周期开始于类的加载,结束与类的消亡。static定义的不论是方法还是属性都是与类的加载处于同一时期,他们随着类的加载而加载,直到类消亡而消亡;非静态的方法、属性则是与对象的生命周期息息相关,在代码还没有创建对象时,编译器不会new出
2020-12-05 15:40:23
158
1
原创 浅谈static关键字(二)
还是先声明一个雇员类以便说明。 class Employee{ String name ; double age ; double salary; static double sumSalary;//使用static修饰的属性称作静态变量。 } 1.静态变量随着类的加载而加载,这句话的理解是:把static定义的变量当成类所拥有的属性。 结合例子类Employee来说:如果说salary属于某个具体实例,那么sumSalary就属于类Employee,所以静态变量也叫做类变量。 2.可以通过类来直接调用
2020-12-05 11:13:20
129
1
原创 浅谈static关键字(一)
static可以修饰的是属性、方法、代码块、内部类,不可以修饰构造器。 其中比较重要的是static修饰的属性和方法。 1.修饰属性 举个例子: class Employee{ String name ; double age ; double salary; static double sumsalary ;//使用static修饰的属性称作静态变量。 } 属性sumsalary 使用static修饰,那么属性sumsalary 就将成为类Employee的共享变量,这么形容可能有些抽象。 为了更好的
2020-12-05 10:37:49
163
原创 关于自动装箱自动拆箱的一个小练习
自动装箱自动拆箱概念 先看代码: int num = 10;//自动装箱 Integer in = num; int i = in;//自动拆箱 in是个对象,num、i是int型的变量,如果直接赋值按理说会报错,但是由于自动装箱和自动拆箱的存在,上述语句可执行。 简单来说,自动装箱就是基本数据类型到包装类的转换不再需要调用包装类的构造器。 同理我们可以知道,自动拆箱是自动装箱的逆过程,也就是说,我们也可以通过上述最后一条语句直接完成包装类到基本数据类型的转换。 在这里插入代码片 package com.c
2020-12-03 17:50:20
138
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人