static 关键字 静态的
static 关键字 静态的
static 修饰变量:静态变量或类变量,成员修饰符,只能修饰成员,不能修饰局部
内存中,在静态区中
static 修饰方法:静态方法或类方法
静态内容的使用方式:
1.类名.静态变量名;(static修饰的静态方法或者静态的变量属于整个类)
2.对象.静态变量名;
3.类名.方法名(参数列表)
4.对象.方法名(实参)
成员内容的使用方式:
1.对象. (成员的内容是没有static修饰的内容,通过对象去使用)
注意:
1.静态的是属于类的,成员的是属于对象的
2.类中静态的内容,是这个类所有对象公用的内容,独一份,在类第一次加载之后初始化一次
3.在静态的内容中,只能直接使用静态的内容,不能直接使用成员的内容,但是可以通过对象使用
4.在成员的内容中,可以直接使用成员的内容,可以直接使用静态的内容
注意:static不能和this一起使用
块 block
作用域以块为单位 {}
{}定义在方法中–>局部代码块|普通语句块
执行时机: 调用方法的时候
{}定义在类中方法外–>构造块
执行时机: 创建对象
static{}定义在类中方法外–>静态块
执行时机: 第一次类加载后执行
注意:
1.构造块中的代码先于构造器代码执行,编译时会被变编译到构造器代码的最上面,如果有多个构造块,从上倒下以此执行
2.第一次类加载后执行,并且只执行一次,如果存在多个静态块,从上倒下依次执行
3.静态块先于之方法执行
(类中代码的执行顺序)静态块-->主方法-->构造块-->构造器代码
程序执行流程:
debug 调试工具
1.打断点 双击打断点,双击取消
2.debug模式运行
f5进入方法内部
f6下一步
private 关键字及封装
安全隐患: 有些字段的值,应该控制在一定的符合具体情况的逻辑下,但是直接操作对象的属性,符合类型的要求就可以成功赋值,不够安全
介绍 private 关键字 --私有的
使用private 关键字修饰的内容,只能在当前中使用,外部无权访问
私有的属性,提供一个公共的访问方式 设置器setter 访问器getter–方法
问: 私有属性,提供公共的访问方式是否安全:
1.其他类中无法直接使用私有的字段 2)公共的访问方式中可以进行逻辑判断
以后模板类中的所有属性一般都是私有的,提供公共的访问方式
属性私有化是封装非常具体的一个体现
面向对象的三大特性: 封装 继承 多态
封装:
隐藏内部的实现细节,对外提供公共的访问方式
优点:
提高代码的复用性
提高程序的安全性
私有是封装--->对
封装是私有?-->不对,不仅仅是私有,方法,类..
私有是封装,封装不一定是私有(有可能是方法,类等等。。。)
javabean:一系列的模板类
标准的javabean的要求:
1.类的公共的
2.属性私有
3.提供公共的访问方式
4.至少存在一个空构造
javabean:一系列的模板类
列如:
//自定义一个动物类
public class Animal {
//动物的名字
private String name;
//动物的种类
private String type;
//动物的数量
private int number;
//一个空构造器
public Animal() {
// TODO Auto-generated constructor stub
}
//三个参数的构造器
public Animal(String name,String type,int number){
this.name=name;
this.type=type;
this.number=number;
}
//一个公共的修改动物类的访问方式
public void setType(String type){
this.type =type;
}
//一个公共的获取动物的种类的返回值的方式
public String getType(){
return this.type;
}
}
测试类
public class Test01 {
public static void main(String[] args) {
Animal ac=new Animal("狮子","陆生",20);
ac.setType("猫科");
System.out.println(ac.getType());
}
}
结果为猫科