OOP三大特性:封装、继承、多态
封装:包装
封装:函数,类
OOP的封装:1.成员变量私有化;2.提供公共接口为成员变量;3.对成员变量做安全保护
访问修饰符 | 当前类 | 同包下的类 | 不同包子类 | 任何地方 |
public | yes | yes | yes | yes |
protected | yes | yes | yes | no |
默认 | yes | yes | no | no |
private | yes | no | no | no |
上面四中都可以修饰成员变量;修饰类只有两种修饰符public(任何地方都可以用)和默认(什么也不写,只能是同包类下的可以用)
注意:成员方法的访问修饰符和成员变量是一样的;局部变量不需要访问修饰符。
包:用来组织文件;非web项目的.class文件是bin目录下,web项目是WEB-INFO下的classes文件夹里
import 导入用包:不同的包下需要导包,同报下的引用是不需要导包的。
Static关键字
1. static修饰的成员变量为静态变量。
静态变量是属于类的,不属于任何某个对象,但是所有的对象都可以使用,也就是说是类对象共用的。
在同一个类中静态变量的调用:类名.静态变量 或者 对象.静态变量 或者 静态变量
不同类中:不能使用 直接静态变量(即上面的第三种)
建议都使用第一种方式:类名.静态变量
2. 静态变量:加static;属于类;类名.变量名;一般是在需要累加的时候或者说多个对 象共享某个参数的时候使用;
普通成员变量:属于对象;对象.get变量;
定义:访问修饰符 static 返回类型 方法名(){}
调用:类名.方法名 或者 方法名 或。。。
注意:1.静态方法不可以调用非静态的方法;反之可以。
2.静态方法可以调用静态的成员变量,不可以调用非静态的成员变量。
3.静态方法里不能使用对象型关键字this和super;
4.static 不可以用来修饰构造方法
3. 静态代码块:在类里
语法
static{
//方法体
}
特点:在应用启动时(jvm开始运行时)开始加载,而且只加载一次。
4. 构造代码块:在类里
{ }:在创建对象时,隐式的三步:supper(),构造代码块,构造方法。
5. 局部代码块:在方法里