精华内容
下载资源
问答
  • 这样覆写Object类的toString方法对吗

    千次阅读 2013-04-10 18:02:13
    这些覆写Object类的toString方法对吗? Object.prototype.toString=function() { alert("s"); } var o=new Object(); //s o.toString(); 下边论坛里回复我的 回复于:...
      这些覆写Object类的toString方法对吗?
    <html>
    <head>
    </head>
    <body>
    </body>
    <script type="text/javascript">
    Object.prototype.toString=function()
    {
    alert("s");
    }
    var o=new Object();
    //s
    o.toString();
    </script>

    </html>


    下边是论坛里回复我的


    回复于: 2013-04-11 09:32:16
    JavaScript code
    ?
    1
    2
    3
    4
    5
    6
    重写
     
    function Person() {}
    Person.prototype.toString = function() {};
    var obj = new Person();
    obj.toString();


    展开全文
  • Object类的toString方法 你现在能看懂以下代码了吗? System.out.println(“Hello world!”); System.out中,out后面没有小括号,说明out变量名. 另外System一个类名,直接使用类名System.out,说明out一个静态变量...

    Object类的toString方法

    1. 你现在能看懂以下代码了吗?

    System.out.println("Hello world!");
    

    System.out中,out后面没有小括号,说明out是变量名.另外System是一个类名,直接使用类名System.out,说明out是一个静态变量

    System.out返回一个对象,然后采用"对象."的方式访问println()方法

    我们研究了一下Object类当中的很多方法,大部分看不懂,其中有一个叫做"引用.toString",然后直接输出toString()方法的执行结果

    方法覆盖

    2.1 什么时候考虑使用方法覆盖?

    父类中的方法无法满足子类的业务需求,子类有必要继承过来的方法进行覆盖

    2.2 什么条件满足的时候构成方法覆盖?

    有继承关系的两个类
    第二:具有相同的方法名,返回类型,形参列表
    第三:访问权限不能更低
    第四:抛出异常不能更多

    2.3 关于Object类中的toString()方法的覆盖?

    toString()方法存在的作用就是:将java对象转换成字符串形式.
    大多数的java类toString()方法都是需要覆盖的,因为Object类中提供的toString()方法输出的是一个java对象的内存地址.
    至于toString方法具体怎么进行覆盖?
    格式怎么定义,或者听需求的(听项目要求的)

    2.4 方法重载和方法覆盖有什么区别?

    1. 方法重载发生在同一个类当中
    2. 方法覆盖发生在具有继承关系的父子类之
    3.	方法重载是一个类中,方法名相同,参数列表不同.
    4. 方法覆盖是具有继承关系的父子类,并且重写之后的方法必须和之前的方法一致.
    	方法名一致,参数列表一致,返回值类型一致
    
    展开全文
  • java基础:ObjecttoString方法

    千次阅读 2015-02-01 15:30:45
    一:首先看Demo1 public class Dog1{ Dog1(){ } public static void main(String[] args) { Dog1 d = new Dog1();...我们经常会看到对象的输出结果这个样子?但是你想过为什么会输出这个结果吗?

    一:首先看Demo1

    <strong><span style="font-size:18px;">public class Dog1{
    	Dog1(){
    		
    	}
    	public static void main(String[] args) {
    		Dog1 d = new Dog1();
    		System.out.println(d);
    	}
    }</span></strong>
    输出结果:

    Dog1@77aaf64d

    我们经常会看到对象的输出结果是这个样子?但是你想过为什么会输出这个结果吗?


    明白这个输出,需要了解一下Object这个类,Object类是java所有类的基类。

    也就是上面的类定义,其实等价于

    <strong><span style="font-size:18px;">public class Dog1<span style="color:#ff0000;"> extends Object{</span></span></strong>
    <strong><span style="font-size:18px;">Object类中有一个toString()方法</span></strong>
    <strong><span style="font-size:18px;">它的实现代码为:</span></strong>
    <strong><span style="font-size:18px;">
     <span style="color:#ff0000;">public String toString() {
    <span style="white-space:pre">	</span>  return getClass().getName() + "@" + Integer.toHexString(hashCode());
      }</span>
    </span></strong>

    System.out.println(d);
    //等价于System.out.println(""+d);
    //等价于System.out.println(""+d.toString());
    //任何对象与字符串拼接,都会将对象转化为字符串类型,相当于调用对象的toString方法。这里就会调用父类的toString()方法


    二:再来看Demo2

    public class Dog2{
    	Dog2(){
    		
    	}
    	 public String toString() {
    	        return "i am a dog";
    	    }
    	public static void main(String[] args) {
    		Dog2 d = new Dog2();
    		System.out.println(d);
    		
    	}

    来看输出结果:

    i am a dog


    为什么呢?

    因为Dog2重写Override了父类Object的toString()方法。就会调用自己的toString方法。

    建议类最好都重写一下Object的toString()方法。


    展开全文
  • 每每的问题或搜索为什么要重新toString()方法时,几乎100%的人都说因为toString()方法输出的对象地址的16进制或哈希code表达...难道只是类都继承了Object里的toString()方法吗... 本人小白,谢谢大神答疑解惑
  • 为什么Object.toString.call(...难道真的像自己理解的那样,通过call将[1,2,3]作为Object.toString的实参传递了进去吗?不是。 直接Object.toString([1,2,3])不能实现同样的功能吗?不能。 而实际上也有Array.__p...

    为什么Object.toString.call([1,2,3])返回[object Array]?可以直接[].toString()返回[object Array]吗?
    难道真的像自己理解的那样,是通过call将[1,2,3]作为Object.toString的实参传递了进去吗?不是。
    直接Object.toString([1,2,3])不能实现同样的功能吗?不能。
    而实际上也有Array.__proto__.toString()这种形式,所以是可以直接调用arr.toString()的,这样能检测出吗?不行。

    那到底是什么原因?
    先来肝一个表格。

    为什么会出现下面的情况?

    Object.toString.call(Array)//"function Array() { [native code] }"
    Object.prototype.toString.call(Array)//"[object Function]"

    答案在这里!

    Object.toString()//"function Object() { [native code] }"
    Object.prototype.toString()//"[object Object]"

    Object对象和它的原型链上各自有一个toString()方法,第一个返回的是一个函数,第二个返回的是值类型。

    既然知道了不同,现在我们再来分析下Object.prototype.toString.call(Array)//"[object Function]"
    Array对象本身返回一个构造函数,Array//ƒ Array() { [native code] },而Object.prototype.toString()返回的是//"[object Type]"的形式,通过call将Array的this上下文切换到Object,从而调用了Object.prototype.toString(),因此返回[object Function]

    需要注意的是:Math.toString()直接返回"[object Math]"。

    实际开发中,我们用到最多的可能是:Object.prototype.toString.call([1,2,3])//"[object Array]"这种。

    总结:

    • 一般情况下,js中对象的toString(),返回字符串,内容与函数声明语法有关,例如[1,2,3].toString()//"1,2,3"
    • 大多数都返回函数的完整源码,Array.toString()//"function Array() { [native code] }"
    • 内置函数往往返回一个类似"[native code]"的函数体,需要配合call方法,比如Object.prototype.toString.call([1,2,3])//"[object Array]"

    那么不可以直接Array.prototype.toString.call([1,3,4])吗?
    不行!
    因为Array,Function,Date虽然是基于Object进行创建的,但是他们继承的是Object.toString(),而不是Object.prototype.toString()。
    再加深一遍印象:

    Object.toString()//"function Object() { [native code] }"
    Object.prototype.toString()//"[object Object]"

    所以这就是必须用Object.prototype.toString()去检测类型的原因。

    至于Object.prototype.toString()内部是怎么实现的,等到时机成熟再去深入。

     

    参考:
    作者:趁你还年轻233
    链接:https://www.jianshu.com/p/e4237ebb1cf0
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

     

     

     

     

     

    展开全文
  • 今天面试遇到一个问题:  “实现一个函数clone,可以对js中的5种...回来认真思考了一下,其实在考察Object.prototype.toString.call()方法; JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即
  • 问题任何人都可以向我解释一下在474772436类中定义的toString()方法的概念吗?它如何使用的,它的目的什么?...类ObjecttoString方法返回一个字符串,该字符串由对象为实例的类的名称,符号字...
  • 一、概述有人可以向我解释Object类中定义的toString()方法的概念吗?它如何使用的,目的什么?二、详解看Object.toString的官方文档:返回对象...toString用于类的方法Object返回一个字符串,该字符串由对象其...
  • 大家天天都在使用toString()、equals()、hashCode()、waite()、notify()、getClass()等方法,或许都没有意识到是Object方法,也没有去看Object还有哪些方法以及思考为什么这些方法要放到Object中。本篇就每个方法...
  • 大家天天都在使用toString()、equals()、hashCode()、waite()、notify()、getClass()等方法,或许都没有意识到是Object方法,也没有去看Object还有哪些方法以及思考为什么这些方法要放到Object中。本篇就每个方法...
  • 大家天天都在使用toString()、equals()、hashCode()、waite()、notify()、getClass()等方法,或许都没有意识到是Object方法,也没有去看Object还有哪些方法以及思考为什么这些方法要放到Object中。本篇就每个方法...
  • Java中Class类与Object类之间有什么关系?生命一种喜悦,愿小编的生活,永远充满喜悦,祝生日...典型的,可以使用Object类中的toString()方法。 Class类用于java反射机制的,一切java类,都有一个对应的Class对...
  • Java中Class类与Object类之间有什么关系?生命一种喜悦,愿小编的生活,永远充满喜悦,祝生日...典型的,可以使用Object类中的toString()方法。 Class类用于java反射机制的,一切java类,都有一个对应的Class对...
  • 举个栗子:用 typeof 判断一个对象变量,null 的结果也 object,数组的结果也 object,这样并不正确。   typeof操作符返回一个字符串,表示未经计算的操作数的类型;该运算符数据类型对应列表如下图所示: ...
  • 我想同时使用已重新定义的toString方法和从Object类继承的默认方法。我未能使用该超级修饰符来实现该方法。这仅用于教育目的。如果您可以看一下我代码中的注释,那么我想得到的内容将更加清楚。你能在这里帮我吗?我...
  • tatic void Main(string[] args){Thread ThreadInputProc = new Thread( xaa.AccetpFromServer);...ThreadInputProc.Start(args[0].ToString());。。。。} public void AccetpFromServer(str...
  • 我们都知道Object是所有对象的祖先类,那么它里面的一些方法你是否都理解了呢? 下面我们就以源码为基础来学习这些看似简单的方法吧!! 1.equals方法 我们都知道String中的equals比较两个字符串对象内容是否相同...
  • 阿里的面试题里面有个题很奇妙:你知道Object类里面有哪些方法吗? 绝大部分猿类都知道 有hashcode 、equals 、clone、toString 只有部分人会回答有 wait和notify,notifyall,finalize 我原来也不清楚wait和...
  • js和其它语言一样,一切对象的基类都是Object,所以,new Object()和简易的{}是同样的空对象,就是默认的对象。本来我以为{}应该是一个没有任何属性和方法的对象,但事实证明,var a = {},a.toString()等
  • 应该没有区别的,两者都生成一...本来我以为{}应该一个没有任何属性和方法的对象,但事实证明,var a = {},a.toString()等Object对象所具有的方法,a都具有。由此也可以判断,其实a = {}就是a = new Objcet(...
  • 大家有思考过Object的key为什么要用toString()方法转换成字符串吗? 今上午查阅了一下资料,得到了一个大致的结论: 在js中的Object,本质上键值对的集合,基于Hash表存储变量的。 可以通过Hash表的散列算法进行...
  • 妙用Object

    2015-10-10 18:04:00
    妙用Object ...很简单,因为所有的引用类型都继承自Object这个类,而“ToString”这个方法便是Object的一个成员,所以所有的引用类型都拥有“ToString()”这个成员。接下来,我们将通过几段代码来深入理解...
  • protected方法不是说只要外包继承了就可以直接调用父类的protected方法吗?那Object被各类默认继承的,为什么clone方法还要子类覆写,不能直接调用呢?这点不懂,请教大家。下面参考代码。 ```java package ...
  • 2.要掌握的方法A:toString() 返回对象的字符串表示例 student [name = null, age = 0]可以自动生成 快捷键:alt+shift+s+sB: equals() 比较两个对象是否相同,一般比较对象的成员变量的值是否相同。例 (s1.equals(s2...
  • java Object解析

    2018-11-26 17:14:00
    java 的Object类也比较简单,有equals(Object)、toString()、finalize() java方法和hashcode()、clone()、wait()、notify()、notifyAll()、getClass()的native方法。 远吗如下: 1 public class...
  • 返回super.toString()竟然Location。 不是应该继承自Object的吗?super为什么不是Object? 还有,这个clone方法到底怎么工作的呢? 望老师同学帮忙解答!!java代码 /** * 测试...

空空如也

空空如也

1 2 3 4 5
收藏数 95
精华内容 38
关键字:

tostring是object方法吗