javalangobject(Javalangobject is deprated)

发布时间:2022-11-15

本文目录一览:

  1. object在java 里是什么意思
  2. java.lang.object的实现方法有哪些
  3. 常量“java/lang/Object”意味着什么?
  4. Java中的Object是什么?

object在java 里是什么意思

Object是所有类的基类,这个你可以查询JDK文档了解,所有类都继承自Object。

  1. Object类是所有类的父类,位于java.lang包中。
  2. 数组也是Object类的子类。
  3. Object类的常用方法有:
  • toString();
  • equals();
  • hashCode(); objects这种参数定义是在不确定方法参数的情况下的一种多态表现形式。即这个方法可以传递多个参数,这个参数的个数是不确定的。这样你在方法体中需要相应的做些处理。因为Object是基类,所以使用objects这样的参数形式,允许一切继承自Object的对象作为参数。这种方法在实际中应该还是比较少用的。 obj这样的形式,就是一个Object数组构成的参数形式。说明这个方法的参数是固定的,是一个Object数组,至于这个数组中存储的元素,可以是继承自Object的所有类的对象。 这些基础东西应该多看几遍《Think in Java》。

java.lang.object的实现方法有哪些

Java.lang.Object类中有几个方法不是final的,我们会经常重写它们:

  • protected Object clone() 创建并返回此对象的一个副本。
  • boolean equals(Object obj) 指示某个其他对象是否与此对象“相等”。
  • protected void finalize() 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
  • int hashCode() 返回该对象的哈希码值。
  • String toString() 返回该对象的字符串表示。

1、clone()

我们为什么要用clone()? 当我们需要一个与某个对象时一模一样的对象时,但它们又是相互独立的,对它们各自的操作不会影响到另外的一个,这时候用clone()就可以实现,当然,其他的方法也可以实现,但是重写clone()简单,高效。 有一个没有重写clone()的例子,能帮助我们更好地去理解clone(),如下:

public class Test {
    public static void main(String[] args) {
        A a1 = new A();
        A a2 = new A();
        a1.name = "a1";
        a2 = a1;
        a2.name = "a2";
        System.out.println("a1.name=" + a1.name);
        System.out.println("a2.name=" + a2.name);
    }
}
class A {
    public String name;
}

输出结果为:

a1.name=a2
a2.name=a2

下面这个是重写了clone()的例子:

public class Test {
    public static void main(String[] args) throws CloneNotSupportedException {
        A a1 = new A();
        A a2 = new A();
        a1.name = "a1";
        a2 = (A) a1.clone();
        a2.name = "a2";
        System.out.println("a1.name=" + a1.name);
        System.out.println("a2.name=" + a2.name);
    }
}

常量“java/lang/Object”意味着什么?

楼上说得太简单了! 我来说两句。你的问题可以改成 Class aa=xxx.getClass(); aa 带的方法有什么用。比如说可以返回类名,知道该类中字段,知道该类中方法名,知道该类中参数名,知道该类中方法返回类型。好比说:

Collection c = new ArrayList();
Class class = c.getClass();
List ll = c.getMethod("sublist", int.class, int.class).invoke(c, 0, 0);

上面我简单写了一段代码,虽然有点极端,但是你会发现 Collection c 仍然能调用 sublist() 方法,也就是反射机制了。 再详细点说就是,Eclipse工具可以按“.”然后马上提示很多方法供你选择,那他如何知道“.”了以后有哪些方法?他用的语法就是 getClass().getMethods();

Java中的Object是什么?

Object是所有类的基类,这个你可以查询JDK文档了解,所有类都继承自Object。

  1. Object类是所有类的父类,位于java.lang包中。
  2. 数组也是Object类的子类。
  3. Object类的常用方法有:
  • toString();
  • equals();
  • hashCode(); objects这种参数定义是在不确定方法参数的情况下的一种多态表现形式。即这个方法可以传递多个参数,这个参数的个数是不确定的。这样你在方法体中需要相应的做些处理。因为Object是基类,所以使用objects这样的参数形式,允许一切继承自Object的对象作为参数。这种方法在实际中应该还是比较少用的。 obj这样的形式,就是一个Object数组构成的参数形式。说明这个方法的参数是固定的,是一个Object数组,至于这个数组中存储的元素,可以是继承自Object的所有类的对象。 这些基础东西应该多看几遍《Think in Java》。