Java笔记 private、final、static(静态域与方法)

1、private 私有的

private实现封装,封装的优点:可以保护数据不被破坏;使用getter、setter方法对属性进行操作可以进行错误检查

private:

1、修饰变量:

    1)变量不可被继承;

    2)只允许本类中访问

2、修饰方法:

    1)不可被继承;

    2)可被本类中其他方法调用;

    3)如果方法为私有则表示它不可能在类的外部任何一个地方被操作,可以被删除替代

2、final

1、final变量:

    1)变量名大写(习惯),视为常量;

    2)一旦赋值不可更改(仅赋值一次);引用数据类型final变量,初始化之后不能再指向另外一个对象,但对象的内容可以改变

2、final方法:

    1)不可被子类重写可以被继承;

    2)不能修饰构造方法;

    3)final方法比非final方法要快,因为在编译的时候已经静态绑定了,不需要在运行时再动态绑定;

3、final类:不可被继承

4、final参数:只可读,不可以修改

注:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的

3、static 静态

1、static变量(其实一般为静态常量 static final):

    1)直接使用 类名.变量名 调用; 

    2)随着类加载时被完成初始化;

    3)类的所有实例共享静态变量(独立于类的实例对象),JVM也只会为它分配一次内存;

    一般在这两种情况下使用静态变量:对象之间共享数据、访问方便。

2、static方法:

    1)不可被子类重写(如果子类含有相同静态方法则与父类的静态方法无关);

    2)直接以类名调用,也可以使用实例调用(避免);

    3)没有this,因为不依赖于任何实例对象;

    4)不能访问非静态成员变量与非静态成员方法;

    5)static方法必须实现,也就是说他不能是抽象方法abstract;

    使用情景:方法不需要访问对象状态,其所需参数均显示参数提供;只需要访问静态域;

3、static代码块:

    1)可以置于类中的任何地方;

    2)一个类可以有多个static块;

    3)类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次(相反的,非static代码块只要构造类的对象就会执行)。

4、工厂方法:

    1)一种常见的构造对象的方式,使用静态方法构造一个类的实例;

    2)出现原因:无法命名构造器,因为构造方法必须与类名相同;构造器无法改变所构造的对象类型

注意:static不可以修饰局部变量;static变量在定义时初始化(否则自动初始化);

 

 

  • 7
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值