发表于: 2018-04-08 22:03:00
3 634
1. 对象属性的初始化顺序
最开始是声明的地方初始化
接着是初始化块进行初始化,无论这个块放在构造方法之前还是之后。
最后才是执行构造方法
2. 类属性的初始化顺序
先是声明时初始化,然后是静态初始化块进行初始化。
3. 基本类型传参,无法修改方法外的参数值,这里的xueping值不变。
public void huixue(int xp){
hp = hp + xp;
//回血完毕后,血瓶=0
xp=0;
}
public static void main(String[] args) {
Hero teemo = new Hero("提莫",383);
//血瓶,其值是100
int xueping = 100;
//提莫通过这个血瓶回血
teemo.huixue(xueping);
System.out.println(xueping);
}
4. 调用方法可以把两个指向不同引用对象的参数指向同一个对象,达到修改参数的目的。
hero,teemo指向不同,通过调用方法等同起来
public void attack(Hero hero, int damage) {
hero.hp = hero.hp - damage;
}
public static void main(String[] args) {
Hero teemo = new Hero("提莫", 383);
Hero garen = new Hero("盖伦", 616);
garen.attack(teemo, 100);
System.out.println(teemo.hp);
}
5. PreparedStatment 比Statment优在
5.1 性能好,只需要编译一次SQL语句,以后就只需要传参就可执行。
5.2 写起来方便,不需要考虑拼接。
5.3 防止sql注入攻击,看的不是很懂,以后碰到再说。
为什么 select * from hero where name = '盖伦' OR 1=1,1=1是 ture 就会 select 出所有数据呢?
不是应该只 select 出name = ture的么。。。。
6. 学习了数组的声明,赋值,尝试写了if语句,4行憋了30分钟。。。
评论