A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.什么是内部类,使用匿名内部类的前提是什么?
2.请从你的理解谈谈,匿名内部类的作用?
3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
4.我们为什么要重写equals()方法?
5.==和equals()的区别?

39 个回复

倒序浏览
1.什么是内部类,使用匿名内部类的前提是什么?

内部类是类中之类,分为成员内部类和局部内部类。
前提是有一个接口或者一个抽象类。

2.请从你的理解谈谈,匿名内部类的作用?

匿名内部类减少了程序资源的浪费,提高了开发人员在编程中的效率。有了匿名内部类以后,不用像之前有抽象类或者接口的时候需要单独创建一个子类或者实现类。直接在方法中创建一个匿名内部类即可调用方法。


3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?

因为所有的类都直接或间接的继承了Object类,要是继承的子类没有重写toString方法则默认继承了Object类的toString方法,即是地址值,要是有重写方法则打印的是对象内容。
打印对象名的时候会调用toString方法。

4.我们为什么要重写equals()方法?

重写equals()是为了比较两个对象的内容是否相同,而不重写比较的是地址值是否相同。
5.==和equals()的区别?

==应用在基本数据类型比较的是数据值
==应用在引用数据类型比较的是地址值
重写的equals()方法比较的是对象内容
回复 使用道具 举报
1.什么是内部类,使用匿名内部类的前提是什么?
内部类是指在一个类中包含有另外一个类。使用匿名内部类的前提是:1.有继承关系;2.方法重写;
2.请从你的理解谈谈,匿名内部类的作用?
如果在主方法中,创建一个子类的对象,当此对象在使用次数上很少时,为了节省创建子类,可以直接在主方法中创建匿名内部类来代替创建子类和调用子类的方法俩个步骤,达到同样的效果。
3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()
输出是地址值是因为所有类都间接继承了Object类,而Object类中的toString()方法输出默认的就是对象的地址值,而输出不是地址值是因为子类重写toString()方法。
4.我们为什么要重写equals()方法?
因为我们需要比较的是对象的内容而不是对象的地址值。
5.==和equals()的区别?
==俩边若是基本数据类型比较的是数据值,若是引用数据类型比较的地址值。
equals比较的是引用数据类型的地址值,也可以重写equals来比较引用数据类型的内容。
回复 使用道具 举报

1.什么是内部类,使用匿名内部类的前提是什么?
答:在一个类中定义一个新的类,这个新的类就是内部类。
    使用匿名内部类的前提是存在一个父类(可以是具体类,也可以是抽象类)或者接口,存在这样的上下关系。



2.请从你的理解谈谈,匿名内部类的作用?
答:匿名内部类的本质是一个父类的子类对象或者是一个接口的实现类对象,这个对象可以直接调用方法。
    这样我们就不需要创建子类或者实现类,在现实操作中比较节约时间和资源。



3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
答:所有的类都会继承Object类的toString()方法,当自己打印对象的时候,实际上调用的是Object类中的toString()方法,得到的是对象的地址值。
    一般情况下,所有类都需要重写这个继承过来的方法,在重写该方法之后进行打印对象时,得到的就会是类的内容。
    我们直接打印对象时,对象会默认调用toString()方法。



4.我们为什么要重写equals()方法?
答:因为Object类的equals()方法实现对象上差别可能性最大的相等关系,而在操作过程中,我们不满足仅进行对象地址值的比较,我们还想对内容上进行比较,所以需要重写该方法。



5.==和equals()的区别?
答:==比较的是对象的地址值
    equals()比较的是对象的内容
回复 使用道具 举报

1.什么是内部类,使用匿名内部类的前提是什么?
内部类是指在一个类中包含有另外一个类。使用匿名内部类的前提是:1.有继承关系;2.方法重写;
2.请从你的理解谈谈,匿名内部类的作用?
如果在主方法中,创建一个子类的对象,当此对象在使用次数上很少时,为了节省创建子类,可以直接在主方法中创建匿名内部类来代替创建子类和调用子类的方法俩个步骤,达到同样的效果。
3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()
输出是地址值是因为所有类都间接继承了Object类,而Object类中的toString()方法输出默认的就是对象的地址值,而输出不是地址值是因为子类重写toString()方法。
4.我们为什么要重写equals()方法?
因为我们需要比较的是对象的内容而不是对象的地址值。
5.==和equals()的区别?
==俩边若是基本数据类型比较的是数据值,若是引用数据类型比较的地址值。
equals比较的是引用数据类型的地址值,也可以重写equals来比较引用数据类型的内容。
回复 使用道具 举报

1.什么是内部类,使用匿名内部类的前提是什么?
一个类中包含一个类,被包含的类叫做内部类,内部类不能定义静态成员。使用匿名内部类的前提是需要有一个父类/抽象类/接口。
2.请从你的理解谈谈,匿名内部类的作用?
匿名内部类适合创建那种只需要一次使用的类。
3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
默认是打印地址值,有的类重写了说以打印的是内容。在需要返回对象的内容的时候会调用toString()方法。
4.我们为什么要重写equals()方法?
默认的是对象地址值的比较,在开发中经常需要比较传进来的值是否相等。
5.==和equals()的区别?
==对于基本类型来说比较的是值,对于引用类型来说比较的是引用。equals默认是引用比较,只是很多类重写了equals方法,比如String等把它变成了值比较,所以一般情况下比较的是值是否相等。
回复 使用道具 举报

1.什么是内部类,使用匿名内部类的前提是什么?
内部类是在一个类中的一个类
前提:存在一个类或者接口,这里的类可以是具体类也可以是抽象类
2.请从你的理解谈谈,匿名内部类的作用?
发现某个方法需要,接口或抽象类的子类对象,我们就可以传递一个匿名内部类过去,来简化传统的代码
3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
当直接调用Object的toString方法的时候打印的是地址值,当重写toString方法的时候打印的是对象内容
在打印输出对象的时候回默认调用toString();

4.我们为什么要重写equals()方法?
不希望比较对象的地址值,想要结合对象属性进行比较的时候

5.==和equals()的区别?
equals()用于对象之间的内容比较,返回true和false的结果
== 用于比较两个具体的值
回复 使用道具 举报
1.什么是内部类,使用匿名内部类的前提是什么?
内部类 :在一个类中定义一个类
匿名内部类的前提,存在一个抽象类或接口
2.请从你的理解谈谈,匿名内部类的作用?
当实现类只使用一次时还要继续编写,使用匿名内部类可以简化代码
3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
所有的类都间接或直接继承于object类 ,object类中提供的方法打印的是地址值。 而有的打印的是对象内容是因为在对象中重写了打印方法。
直接打印的时候会显示对象的地址值,当我们不想看到地址值想看到类的内容的时候,回去调用toString()方法
4.我们为什么要重写equals()方法?
在object中equals()的源码是== 比较的是对象的地址值 而我们要比较的是对象字符串的内容 所以要重写equals();
5.==和equals()的区别?
==在基本类型中比较的是值,引用类型中比较的是对象的地址值 而equals()在objec中比较的是地址值而重写后要比较的是对象的字符串内容
回复 使用道具 举报
1.什么是内部类,使用匿名内部类的前提是什么?
答:内部类:在一个类中定义一个类.
前提:存在一个类或者接口,这里的类可以是具体类也可以是抽象类

2.请从你的理解谈谈,匿名内部类的作用?
答:将编写实现类和创建实现类对象合并成一步.

3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
答:当直接打印Object类中的tostring ()方法,显示的是对象的地址值
我们直接打印对象,对象会默认调用tostring()方法
一般情况下object的子类(所有类,)都需要重写从object类中的tostring()的方法,显示该对象的地址值

4.我们为什么要重写equals()方法?
答:当我们不想要比较对象的地址值,想要结合对象属性进行比较的时候,我们就要重写equals;

5.==和equals()的区别?
答:== 比较的是两个对象的地址值
eqals 比较的是内容


--------林聪全
回复 使用道具 举报

1.什么是内部类,使用匿名内部类的前提是什么?

答:被一个类包含的类叫做内部类。前提是有一个接口/抽象类/具体类。

2.请从你的理解谈谈,匿名内部类的作用?

答:从匿名内部类的本质出发,它是一个继承了某类或实现了某接口的匿名子类对象,是个对象,就可以直接使用,简洁方便。
      当有些子类或实现类只需要使用很少次数时,我们还去创建,程序就显得太冗余了。
   

3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?

答:因为超类Object提供的toString()方法返回的是对象的地址值,而
      JDK提供的类有些有重写toString()方法(打印出来的是内容),有些没有(打印出来的是地址值)。
      当直接打印对象的时候默认会调用toString()方法。

4.我们为什么要重写equals()方法?

答:因为大多时候我们想比较的还是对象的内容,而不是地址值,所以要重写。

5.==和equals()的区别?

答:对于引用类型而言,==只能比较地址值;equals()重写后可以比较对象的内容。
回复 使用道具 举报
1.什么是内部类,使用匿名内部类的前提是什么?
答:①在一个类A中定义另一个类B,类B就被称为内部类。
       ②存在一个父类或者接口。

2.请从你的理解谈谈,匿名内部类的作用?
答:当某个方法需要重写父类或实现一个接口,但是使用的次数较少时,可以使用匿名内部类简化代码,不用创建一个子类或实现类。

3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
答:①因为所有类都直接或间接继承Object类,在不进行toString方法重写的情况下,当进行打印输出时,基本数据类型会直接输出对象内容,而引用数据类型会默认调用Object类的toString()方法,输出地址值。
       ②当引用数据类型进行输出时,会调用toString方法。

4.我们为什么要重写equals()方法?
答:因为继承自Object类的equals()方法默认与“==”作用相同,在对引用数据类型进行判断时,只能判断其地址值而无法 对具体内容进行判断,所有需要对其进行重现加上具体内容判断功能。

5.==和equals()的区别?
答:在equal()方法没重写的情况下,两者是没有区别的。
回复 使用道具 举报

1.什么是内部类,使用匿名内部类的前提是什么?
  在一个类的内部创建的类叫内部类;
  使用匿名内部类前提:存在一个类或接口。

2.请从你的理解谈谈,匿名内部类的作用?
  使用匿名内部类直接调用那些只会使用一次的类,而不用为了这次调用特地创建一个类,从而达到简化代码的作用。

3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
  所有类都继承Oject类的toString()方法,Oject类的toString()方法默认是打印对象地址值,而有的打印出对象内容是因为该类重写了toString()方法。
  直接打印对象会调用toString()方法。

4.我们为什么要重写equals()方法?
  让我们更方便比较两个对象的参数内容是否一致。
5.==和equals()的区别?
  ==是对地址值的比较;equals()是对数值的比较。
回复 使用道具 举报
1.什么是内部类,使用匿名内部类的前提是什么?

内部类是类中之类,分为成员内部类和局部内部类。
前提是有一个接口或者一个抽象类。

2.请从你的理解谈谈,匿名内部类的作用?

匿名内部类减少了程序资源的浪费,提高了开发人员在编程中的效率。有了匿名内部类以后,不用像之前有抽象类或者接口的时候需要单独创建一个子类或者实现类。直接在方法中创建一个匿名内部类即可调用方法。


3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?

因为所有的类都直接或间接的继承了Object类,要是继承的子类没有重写toString方法则默认继承了Object类的toString方法,即是地址值,要是有重写方法则打印的是对象内容。
打印对象名的时候会调用toString方法。

4.我们为什么要重写equals()方法?

重写equals()是为了比较两个对象的内容是否相同,而不重写比较的是地址值是否相同。
5.==和equals()的区别?

==应用在基本数据类型比较的是数据值
==应用在引用数据类型比较的是地址值
重写的equals()方法比较的是对象内容
回复 使用道具 举报
郑峰

1.什么是内部类,使用匿名内部类的前提是什么?
答:
内部类的概念:在一个类中定义一个类。举例:在一个类A的内部定义一个类B,类B就被称为内部类
匿名内部类的前提:存在一个类或者接口,这里的类可以是具体类也可以是抽象类

2.请从你的理解谈谈,匿名内部类的作用?
答:当发现某个方法需要,接口或抽象类的子类对象,我们就可以传递一个匿名内部类过去,来简化传统的代码

3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
答:答应对象自动调用Object的toString()方法,答应的结果默认为地址值,当toString方法被重写后,打印的则是对象内容

对象执行打印输出操作的时候回调用toString()方法

4.我们为什么要重写equals()方法?
答:不希望比较对象的地址值,想要结合对象属性进行比较时重写equals()方法。

5.==和equals()的区别?
答:
==
基本数据类型比较内容;引用类型比较地址值

equals()
默认方法执行==操作,字符串调用的equals()方法比较的是内容;重写后引用类型比较的也是内容       
回复 使用道具 举报
1.什么是内部类,使用匿名内部类的前提是什么?
在一个类中定义一个类。存在一个类或者接口,这里的类可以是具体类也可以是抽象类
2.请从你的理解谈谈,匿名内部类的作用?
在不编写实现类的情况下,创建对象
3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
(1)如果类中没有重写tostring方法那么就会使用默认的tostring方法,使用默认的tostring方法返回的就是地址值
,如果重写了tostring方法那么返回的就是自定义的值。
(2)想要查看或展示对象属性(地址值)时
4.我们为什么要重写equals()方法?
不希望比较对象的地址值,想要结合对象属性进行比较
5.==和equals()的区别?
==是比较地址值 equals重写可以比较对象内字符串内容
回复 使用道具 举报

1.什么是内部类,使用匿名内部类的前提是什么?
定义在类中的类就是内部类;
前提:存在一个类或者接口,这里的类可以是具体类也可以是抽象类;

2.请从你的理解谈谈,匿名内部类的作用?
某个方法需要,接口或抽象类的子类对象,我们就可以传递一个匿名内部类过去,来简化代码

3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?

有些类重写的toString()方法所以打印的是对象内容,有些没有重写,所以使用的是Object的toString()方法打印的是地址值;
在打印对象时默认会调用toString()方法;


4.我们为什么要重写equals()方法?
因为Object提供的equals()方法默认比较的是对象的地址值,不能满足我们的比较需求;

5.==和equals()的区别?
==比较的是两侧变量的地址值(基本数据类型比较的是数据值)
equals()未重写时效果与==相同;重写后按重写后方法比较
回复 使用道具 举报
1.什么是内部类,使用匿名内部类的前提是什么?
内部类:在一个类中定义一个类,被包含的类叫内部类,包含它的类叫外部类。
前提:存在一个类或者接口,这里的类可以是具体类也可以是抽象类

2.请从你的理解谈谈,匿名内部类的作用?
当发现某个方法需要,接口或抽象类的子类对象,我们就可以传递一个匿名内部类过去,来简化传统的代码

3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
因为obje是所有类的超类,有的类是直接使用了objiect的toString()的方法打印出来的对象就是地址值,
有的类自己重写了toString()或者是父类和向上有重写toString的方法,打印出来的就是对象的内容,
对象会在打印输出的时候调用toString()方法

4.我们为什么要重写equals()方法?
因为没有重写equals()方法的话,有些类直接继承了object的equals()方法,判断的条件不是看其内容是否相同,
而是看其地址值是否相等。

5.==和equals()的区别?
==是指两边的值或者地址值是否相等,equals()是指两边的内容是否相同。
回复 使用道具 举报

1.什么是内部类,使用匿名内部类的前提是什么?
内部类是在一个类中的一个类
前提:存在一个类或者接口,这里的类可以是具体类也可以是抽象类
2.请从你的理解谈谈,匿名内部类的作用?
发现某个方法需要,接口或抽象类的子类对象,我们就可以传递一个匿名内部类过去,来简化传统的代码
3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
当直接调用Object的toString方法的时候打印的是地址值,当重写toString方法的时候打印的是对象内容
在打印输出对象的时候回默认调用toString();
4.我们为什么要重写equals()方法?
不希望比较对象的地址值,想要结合对象属性进行比较的时候
5.==和equals()的区别?
equals()用于对象之间的内容比较,返回true和false的结果
== 用于比较两个具体的值
回复 使用道具 举报
1.什么是内部类,使用匿名内部类的前提是什么?

定义在类中的类叫做内部类.

2.请从你的理解谈谈,匿名内部类的作用?

存在一个类或者接口,这里的类可以是具体类也可以是抽象类

3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?

有些对象只继承object类的方法,因此只打印地址值.

有些对象会继承重写过的tostring方法,因此能打印对象内容.

打印时会调用tostring方法.

4.我们为什么要重写equals()方法?

创建对象时会默认equals()方法是比较地址值.

不希望比较对象的地址值,想要结合对象属性进行比较的时候需要重写equals()方法。

5.==和equals()的区别?

==在比较基本数据类型时比较的是值,在比较引用数据类型时比较的是内存中指向的存储地址,并返回boolean类型结果.

equals方法不能作用于基本数据类型的变量,如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;诸如String、Double、Date、Integer 等类对equals方法进行了重写的话,比较的是所指向的对象的内容。
回复 使用道具 举报
1.什么是内部类,使用匿名内部类的前提是什么?
答:在一个类中定义一个类。
   前提: 存在一个类或者接口,这里的类可以是具体类也可以是抽象类。
         

2.请从你的理解谈谈,匿名内部类的作用?
答:方便单个只用一次的方法调用;

3.思考一下为什么打印对象,有的是地址值,有的是对象内容?对象在什么时候会调用toString()方法?
答:因为对象有地址值和对象内容;
对象在结果需要排序的时候使用toString()方法来排序;

4.我们为什么要重写equals()方法?
答:因为我们需要比较的是对象的内容而不是对象的地址值。



5.==和equals()的区别?
==俩边若是基本数据类型比较的是数据值,若是引用数据类型比较的地址值。
equals比较的是引用数据类型的地址值,也可以重写equals来比较引用数据类型的内容。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马