一、static关键字
1、static变量
调用方法:类名.属性名static方法不能访问非静态成员内存分配:
static变量与非静态变量的区别:
区别static变量非静态变量份数1份每个对象1份内存中位置元空间(metaspace)堆创建时间加载类创建对象调用方式类名.变量名对象名.变量名生命周期与类一致与对象一致
2、static方法
作用:访问static方法/变量
调用方式:类名.方法名
static方法不可以访问:
不可以访问非静态方法不可以访问非静态变量不可以访问this
理解:加载类的时候就加载静态变量和静态方法,此时可能还没有创建对象,所以非静态变量和非静态的方法还没有分配空间,无法访问
3、static代码块
位置:类中数量:多个执行顺序:依次执行执行时间:第一次加载类的时候执行,只执行一次作用:
给静态变量赋初始值。实际开发中使用比较多,一般用于
执行一些全局性的初始化操作,比如创建工厂、加载数据库初始信息。
二、package和import
1、package注意事项:
包名:域名倒着写即可,再加上模块名,便于内部管理类。包名一律小写。写项目时都要加包,不要使用默认包。
2、import:便于编写代码,提高可维护性。
3、Idea生成文档注释
三、封装性
1、权限修饰符
private:本类中使用default:本包中使用protected:本包及其他包下的子类public:所有包
类的成员处理:一般用private修饰,通过set,get方法修改、获取(boolean变量通过is获取)
2、封装的优点
提高代码的安全性提高代码的复用性高内聚:封装细节,便于修改内部代码,提高可维护性低耦合:简化外部调用,便于扩展协作‘
四、继承性
1、继承作用
子类继承父类,可以得到父类的全部属性和方法 (除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。
2、方法重写(override)
修饰符
返回值
方法名
参数
抛出异常
重载
无关
无关
相同
不同
无关
重写
大于等于
小于等于
相同
基本数据类型:相同
引用数据类型:小于等于 小于等于