object.java类中的方法,java中object的用法
目录
1.object类的常用方法2.equals()方法3.toString方法4.getClass方法5。实例java代码Java继承的对象运算符实例
00-1010方法函数public Boolean equals(Object obj)确定两个对象变量是否指向同一个对象。public String toString()将调用此方法的对象转换为字符串,并返回public final类getClass以返回运行此方法的对象所属的类-。
00-1010与比较运算符“==”相同。equals()运算符可以比较两个对象是否相等,equals()方法是在Object类中定义的。因为Object类是所有类的父类,所以它可以在任何类中使用。string类还包含一个equals()方法。对于字符串变量,使用“==”运算符不同于使用equals()方法。前者用于比较两个变量的值,即对象在内存中的第一个地址,而equal()方法用于比较两个字符串的内容是否相等。关于字符串的操作,Java在程序运行时会维护一个字符串池。对于一些可共享的字符串对象,它会先判断字符串池中是否有相同的字符串内容,如果有,就直接返回,不需要创建新的字符串对象,节省内存空间。当程序中直接使用“‘”括起来的字符串时,该字符串将被放入字符串池中。
例1:使用class和string两个对象比较运算符==和equals()方法的区别(代码在文末)。
对于非字符串类型的变量,两种方法都是比较堆内存中被指向对象的第一个地址。即两个类类型的变量是否指向同一个对象。
00-1010该方法的作用是将调用该方法的对象的内容转换成字符串并返回。因为返回值是一个无意义的字符串,所以您可以根据需要重新定义该方法,以重写父类中同名的方法。
00-1010该方法的作用是返回运行时对象所属的类。
类对象由JVM自动生成,每个类在加载时都会自动为其生成一个类对象。类类没有构造方法。可以通过Object类的getClass()方法得到对应的类对象,然后通过类对象的一些方法得到类的基本信息。
类中的GetName()方法:
类类型由getClass()方法返回。根据继承的“即”原则,所有的类对象都是Object类的对象。当前对象this调用对象的getClass()方法获取当前对象所在的类,然后调用类中的getName()方法获取this的类名字符串。使用getSuperclass()方法也可以获得父类。
例2:2:getClass()方法的使用:(代码在文末)
00-1010对象运算符instanceof用于测试指定对象是否是指定类或其子类的实例。
功能:用于在强制类型转换前检查对象的真实类型,避免类型转换异常,提高代码的健壮性。
此方法的返回值是布尔值。
00-1010示例1:
//例1:使用class和string比较运算符==和equals()方法的区别//Filename 3360a _ 2。Java Class A { int A=1;} public class A _ 2 { public static void main(String[]args){ A obj 1=new A();A obj 2=new A();字符串s1,s2,s3=abcd ,s4= abcds1=新字符串( ABCD );s2=新字符串( ABCD );system . out . println( S1 . equals(S2)is (S1 . equals(S2)));//true system . out . println( S1==S2 Yes (S1==S2));//false System.out.println(s1
.equals(s3)是"+(s1.equals(s3)));//true System.out.println("s1==s2是"+(s1==s2));//false System.out.println("s3.equals(s4)是"+(s3.equals(s4)));//true System.out.println("s3==s4是"+(s3==s4));//true System.out.println("obj1==obj2是"+(obj1==obj2));//false System.out.println("obj1.equals(obj2)是"+(obj1.equals(obj2)));//false obj1=obj2; System.out.println("obj1=obj2后obj1==obj2是"+(obj1==obj2));//true System.out.println("obj1=obj2后obj1.equals(obj2)是"+(obj1.equals(obj2)));//true }}/**s1.equals(s2)是trues1==s2是falses1.equals(s3)是trues1==s2是falses3.equals(s4)是trues3==s4是trueobj1==obj2是falseobj1.equals(obj2)是falseobj1=obj2后obj1==obj2是trueobj1=obj2后obj1.equals(obj2)是true*/实例2:
//实例2:对象运算符instanceof,getName(),getSuperclass()方法://filename:Person.javaimport java.io.*;public class Person{ static int count=0;//定义静态变量 protected String name; protected int age; public Person(String name,int age){ this.name=name; this.age=age; this.count++; } public String toString(){ return this.name+","+this.age; } public void display(){ System.out.println("本类名="+this.getClass().getName()+";"); System.out.println("父类名="+this.getClass().getSuperclass().getName()+";"); System.out.println("Person.count="+this.count+" "); System.out.println("Student.count="+Student.count+" "); Object obj=this; if(obj instanceof Student) System.out.println(obj.toString()+"是Student类对象"); if(obj instanceof Person) System.out.println(obj.toString()+"是Person类对象"); } public static void main(String[] args){ Person per=new Person("张三",18); per.display(); Student stu=new Student("李四",19,"计算机"); stu.display(); }}class Student extends Person{ static int count=0;//隐藏父类的count protected String dept; protected Student(String n1,int a1,String d1){ super(n1,a1); dept=d1; this.count++; } public String toString(){ return super.toString()+","+dept; } public void display(){ super.display(); System.out.println("super.count="+super.count+" ");//引用父类的变量 System.out.println("this.count="+this.count+" "); } }/**本类名=Person;父类名=java.lang.Object;Person.count=1Student.count=0张三,18是Person类对象本类名=Student;父类名=Person;Person.count=2Student.count=1李四,19,计算机是Student类对象李四,19,计算机是Person类对象super.count=2this.count=1*/
到此这篇关于Java深入讲解Object类常用方法的使用的文章就介绍到这了,更多相关Java Object类方法内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。