Java基础——Object
来源:互联网 发布:java开发项目案例 编辑:程序博客网 时间:2024/06/14 17:29
1、注释
注释不会编译成字节码,习惯写注释,写功能函数前写函数功能。
java程序都定义在类中,java程序都是以类的形式存在的,类的形式其实就是一个字节码文件最终体现。public static void main(String[] args)是固定格式便于jvm认识。
2.Object的方法
通常需要重写(覆盖)原生方法
getClass() equals() toString() HashCode()
通过字节码文件类可以取到里面的该字节码文件中的其他类以及方法、属性,相当于就是类文件中的类成了Class类的属性了。
/*Object:所有类的根类Object是不断抽取而来,具备着对所有对象都具备的共性内容常用的共性内容(Object类的方法):equalstoString方法==类.getClass().getName()+"@"+Inter.toHexString(类.HasCode())*//*class Fu //extends Object{ Fu() { super(); }}class Zi extends Fu{ Zi() { super(); }}*/class Person{ private int age; Person(int age) { this.age=age; } /* 一般都会覆盖此方法,根据对象的特有内容,建立判断对象是否相同的依据 */ //比较Peroson的年龄,是否是同龄人 public boolean equals(Object obj)//覆盖Object类的方法 { if(!(obj instanceof Person)) { //return false; throw new ClassCastException("类型错误"); } Person p=(Person)obj;//Object向下转换,拓展对象的属性 return this.age==p.age;//通过重写父类的方法实现比较不同的属性,默认是比较对象,即p1==p2 p1.equals(p2)两者等价,都是比较的内存地址是否指向同一个地方,而不是比较的内容 } public int hashCode() { return age; }}class Demo{}class objectDemo{ public static void main(String[] args) { Person p1=new Person(20); Person p2=new Person(20);//两者的地址不相等,仅内容相等 Demo d=new Demo(); Person p3=p1; Class clazz1=p1.getClass(); Class clazz2=p2.getClass(); Class clazz3=d.getClass(); System.out.println(p1);//打印的是:Person@14 14是16进制的哈希码,实质上是调用的父类(Object的hashCode方法),默认调用的是toString方法 System.out.println(p1.hashCode()); System.out.println(p1==p2); System.out.println(p1.equals(p2)); System.out.println(clazz1==clazz2);//相等,返回True,因为这个Person类字节码文件中的所有的类会被编译成字节码而形成Class的对象,所以p1.getClass()其实是调用的是Object的方法,返回的是这个字节码文件类,所以相等 System.out.println(clazz1.getName());//返回的是Person System.out.println(clazz3==clazz2);//不相等,不是同一个类的字节码文件,该d类的字节码文件是Demo.class System.out.println(p1.toString());//打印的是:Person@14 System.out.println(p1.equals(d)); }}
阅读全文
0 0
- Java基础——Object
- Object—C基础
- Java基础——Java笔记——Object类
- java基础object——上帝来啦
- JAVA基础——Object类和Class类
- 黑马程序员——JAVA基础之多态与Object
- Java基础学习总结(7)——Object类
- Java基础学习第十一天——Object类
- java基础学习总结——Object类
- java基础学习总结——Object类
- JAVA基础6.55——Object类toString()
- JAVA基础6.56——Object类equals()
- java基础学习总结——Object类
- Java基础——Object类的三个常用方法
- Java基础类库——Object类
- java基础学习总结——Object类
- java基础学习总结——Object类
- 黑马程序员—java基础学习--Object类,内部类
- 拦截导弹
- 实现TabLayout+ViewPager+Fragment头目的联动模式
- python函数的返回值
- OKHttp单例模式
- linux——文件归档及文件传输
- Java基础——Object
- 高斯消元法
- 内容提供者接读取器
- NOIP5424. 【NOIP2017提高A组集训10.25】凤凰院凶真 LCIS 方案
- 开始写博客
- 项目经验
- JSON的简单使用
- 005 逆阵求法方法二:矩阵初等变换法
- STL_不定长数组-vector