static和final的用法

一、toString用法

所有的Java对象都有toString()方法

System.out.println(p)等同于System.out.println(p.toString())    (p为对象)

当直接打印该对象时,系统会输出“自我描述”信息,默认状态下时“类名+@+hashCode”值,并不是真正的自我描述信息,所以必要时,需要重写Object类的toSring方法

二、==和equals方法

    当使用==来判断两个变量是否相等时,若是比较数值类型的变量,只需要值相等即可;若是两个引用类型变量,则它们必须指向同一个对象时才会返回true,==不可用于比较类型上没有父子关系的两个对象

   String  str1=new String("Hello");

   String  str2=new String("Hello");   //(str1==str2)为false   指向两个不同的对象    (str1.equals(str2))为true


System.out.println("Hello"==new ClassName());   //编译错误,java.lang.String与ClassName类没有继承关系

“hello”和new String("hello")不同,new String("hello")实际上一共创建了两个对象

三、类成员

     使用static修饰的成员就是类成员,有类Field、类方法,静态初始化块,static不能修饰构造器

四、final修饰符

     用final修饰的变量一旦获得初始值就不能被改变(必须由程序员显示的指定初始值)

     如果final修饰的是一个引用变量,则只需要保证一直引用同一个对象即可(即地址不变),但可以改变这个对象的内容

     被final修饰的方法不可被重写

     被final修饰的类不可被继承

   final修饰的类Field、实例Field能指定初始值的地方如下:

     类Field:必须在静态初始化块或声明该Field时指定初始值。

       实例Field:必须在非静态初始化块、声明该Field或构造器中指定初始值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值