zoukankan      html  css  js  c++  java
  • 10.使用final关键字修饰一个变量时...

    10.使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

            答:引用不能变,不能将引用再次指向另一个新的对象,但引用所指向的对象中的内容是可以改变的。

    补充:

        1.对于基本类型,final使数值恒定不变,而用于对象引用,final使引用恒定不变。

        2.一个既是static又是final的域只占据一段不能改变的存储空间。

        3.定义为public,则可以被用于包之外;定义为static,则强调只有一份;定义为final,则说明他是一个常量。

        4.带有恒定初始值(即编译其常量)的final static基本类型全用大写字母命名,并且字与字之间用下划线隔开。

    11.“==”和equals方法究竟有什么区别?

        Java中的数据类型,可以分为两类:

        一.基本数据类型:

                     数值型 :(整数类型byte,short,int,long)(浮点类型float,double)

                     字符型 :char

                     布尔型 :boolean

            他们之间的比较,应该用双等会(==),比较的是他们的值。

        二.引用数据类型:

                     类 :class

                     接口 :interface

                     数组 :[ ]

             当他们用==进行比较的时候,比较的是对象的引用。

      说明:java当中所有的类都继承于Object这个基类,在object中的基类定义了一个equals方法,public boolean equals(Object obj) {

        return (this == obj);}这个方法的初始行为是比较引用,但在一些类库中这个方法被覆盖掉了,如String,Integer,Date等在这些类中equals有其自身的实现,而不再是比较对象在栈内存中的地址(即引用)了,如果不覆盖,则equals默认行为是比较引用。
         对于引用数据类型之间进行equals比较,在没有覆盖equals方法的情况下,他们之间的比较还是基于对象的引用,因为object的equals方法也是用==进行比较的,所有比较后的结果与双等号的结果相同。eg:
                  class Value {

                        int i ;

                    }

                   public class EqualsDemo {

                         public static void main(String args[]){

                              Value v1=new Value();

                              Value v2=new Value();

                              v1.i=v2.i=100;

                              System.out.print(v1.equals(v2));

                     }

                } /*Output:false

                 

  • 相关阅读:
    Rails 5 Test Prescriptions 第6章Adding Data to Tests
    Rails 5 Test Prescriptions 第4章 什么制造了伟大的测试
    Rails 5 Test Prescriptions 第3章Test-Driven Rails
    VisualBasic6.0程序设计教程(第4版)(普通高等教育“十一五”国家级规划教材)
    Word Excel PPT 2016三合一办公应用实战从入门到精通 超值版
    R语言数据挖掘方法及应用
    Word--Excel 2016商务办公实战从新手到高手
    妙哉!Excel数据分析与处理就该这么学
    Visual C++串口通信开发入门与编程实践
    Hello C 语言
  • 原文地址:https://www.cnblogs.com/dazuihou/p/3564670.html
Copyright © 2011-2022 走看看