private 私有 权限修饰符
用于修饰类中的成员(成员变量,成员函数)只有在本类中有效。
私有仅是封装的一种表现形式
对外提高访问方式,可以在访问方式中加入逻辑判断等语句
对访问的数据进行操作,提高代码的健壮性。
static 静态关键字 修饰成员(成员变量、成员函数)
修饰之后成为 类变量
静态修饰内容被对象共享 节省空间 但生命周期过长 访问出现局限性 只能访问静态
被静态修饰后,出了被对象调用后,还可以直接用类名.静态成员调用
特点:随着类的加载而加载 生命周期长
优先于对象存在
被所有对象所共享
可以直接被类名所调用
实例变量和类变量的区别
1.存放位置 类变量随着类的加载而存在于方法区中
实例变量随着对象的建立而存在于堆内存中
2.生命周期
类变量随着类的消失而消失 生命周期长
实例变量随着对象的消失而消失 生命周期短
注意事项:
1.静态方法只能访问静态成员,.非静态方法都可以访问
2.静态方法中不可以定义this、super关键字
静态优先于对象存在,所以静态方法不可以出现this
3.主函数是静态的
静态的应用
对象中出现共享数据时,该数据被静态所修饰
对象中的特有数据要定义成非静态存在于对内存中
功能内部没有访问到非静态数据(特有数据),则该功能定义成静态的
将共性的功能抽取,独立封装,以便复用
如果不需要对象,也没有特有数据,可以将方法定义成static,直接通过类名调用即可,将构造函数私有化,则不能建立该类的对象 达到封装的目的
extends 继承关键字
1.提高了代码的复用性
2.让类于类产生了关系,才有了多态的特性
注意: 千万不要为了获取其他类的功能,简化代码而继承。必须是类于类之间具有所属关系才可以继承。
final 最终 修饰符
1. 修饰类、方法、变量
2. 被final修饰的类不可以被继承 打破了封装性 为了避免被继承,被子类复写功能
3. 被final修饰的方法不可以被复写
4. 被final修饰的变量是一个常量只能赋值一次,既可以修饰成员变量,又可以修饰局部变量。 一些数据的出现值是固定的,例如π,为了增强阅读性,就给这些值起个名字,方便阅读,被final修饰,这个值就不能改变了.
抽象类: adstract 关键字 抽象类不可以实例化
抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。 不多见
1. 抽象方法一定在抽象类中
2. 抽象方法和抽象类都必须被adstract关键字修饰
3. 抽象类不可以用new创建对象,因为调用抽象方法没意义
4. 抽象类中的抽象方法要被使用,必须由子类复写所有的抽象方法后,建立子类对象调用
如果子类值覆盖了部分抽象方法,那么该子类还是一个抽象类
抽象方法没有方法主体,也就是大括号。
|