Object 及toString() 方法的重写
Object:
是所有的类的父类 ,Object中所有的方法 , 子类都能使用 , 接口不是Object子类。
Person:
/*将父类的equals方法 重写
* 不改变父类的源代码 equals 比较内存地址
* 比较两个成员变量 变量值相等 返回true 不等 返回false
* 重写父类的方法equals 自己定义对象的比较方式
* */
public class Person extends Object{
private String name;
private int age; public Person(){} public Person(String name,int age){
this.name=name;
this.age=age;
} /*
* 重写Object的toString()方法 没有必要让用户看到内存地址
* 要求 :返回值是成员变量的
* */
public String toString(){
return name+": "+age;
} public boolean equals(Object obj){
if(this==obj){
return true;
}
//对obj 作非空判断
if(obj==null){
return false;
}
if(obj instanceof Person){
//参数obj 接受到的是 Person对象 才能转型
//对obj这个参数进行向下转型
Person p =(Person)obj;
return this.age==p.age;
}
return false;
} public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} }
Test:
public class Test {
public static void main(String[] args) {
Person p = new Person("张无忌",18);
Person p1 = new Person("张san",18);
boolean e = p1.equals(p1);
System.out.println(e); boolean b = p.equals(p1);//重写了父类equals方法 比较年龄 如果不重写 比较内存
System.out.println(b);
//调用Person类的方法toString()
//输出语句 写的是每一个对象 默认就调用toString(); System.out.println(p);
System.out.println(p1);
}
}
Object 及toString() 方法的重写的更多相关文章
- 一个对象toString()方法如果没有被重写,那么默认调用它的父类Object的toString()方法,而Object的toString()方法是打印该对象的hashCode,一般hashCode就是此对象的内存地址
昨天因为要从JFrame控件获取密码,注意到一个问题,那就是用toString方法得到的不一定是你想要的,如下: jPasswordField是JFrame中的密码输入框,如果用下面的方法是得不到密码 ...
- 利用Object.prototype.toString方法,实现比typeof更准确的type校验
Object.prototype.toString方法返回对象的类型字符串,因此可以用来判断一个值的类型. 调用方法: Object.prototype.toString.call(value) 不同 ...
- JavaScript:Object.prototype.toString方法的原理
在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. var arr = []; console.log(Obje ...
- JavaScript中Object.prototype.toString方法的原理
在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. ? 1 2 var arr = []; console.lo ...
- Java Object类中toString方法的重写
Object类中的tostring方法的: 当我们输出一个对象时,实际是输出的是这个类中的tostring方法,是一个地址值,而不是类中的属性. 1 一:子类没有重写Object类中的toStrinn ...
- Java之面向对象例子(三) 多态,重写,重载,equals()方法和toString()方法的重写
重写(继承关系) 子类得成员方法和父类的成员方法,方法名,参数类型,参数个数完全相同,这就是子类的方法重写了父类的方法. 重载 在一个类里有两个方法,方法名是完全一样的,参数类型或参数个数不同. 例子 ...
- Object类--toString方法
toString()方法 1.在Object类中定义toString()方法的时候返回对象的哈希code码(对象地址字符串) 直接输出对象: 2.可以通过重写toString()方法表示出对象的属性之 ...
- Java:面向对象(继承,方法的重写(overide),super,object类及object类中方法的重写,父子类代码块执行顺序)
继承: 1.继承是对某一匹类的抽象,从而实现对现实世界更好的建模. 2.提高代码的复用性. 3.extends(扩展),子类是父类的扩展. 4.子类继承父类可以得到父类的全部属性和方法.(除了父类的构 ...
- Object中toString方法
在Java中,所有的对象都是继承自Object,自然继承了toString方法,在当使用System,out.println()里面为一个对象的引用时,自动调用toString方法将对象打印出来.如果 ...
随机推荐
- httppost core net
public static string Post(string url, string data, Encoding encoding) { try { HttpWebRequest req = W ...
- UGUI动态绑定事件
using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine. ...
- HTTP网页过程
HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤: (1) 建立TCP连接 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立 ...
- 20165214 实验一 Java开发环境的熟悉
20165214 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:朱文远 学号:20165214 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验 ...
- day 53 练习
1 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- 推荐内置android控件的开源项目alcinoe
开源地址:https://github.com/Zeus64/alcinoe 该控件包,含以下几个控件: 1.基于OpenGL实现的视频播放器 ALVideoPlayer. ALVideoPlayer ...
- 多进程于多线程的区别,cpu密集型适合用什么
多线程:在单个程序中同事运行多少个线程完成不同的工作,成为线程. 线程共享内存空间,进程的内存是独立的, 同一个进程的线程间可以直接交流: 两个进程想通信,必须通过一个中间代理来实现, 一个线程可以控 ...
- 某关于数位DP的一节课后的感受
题目 求给定区间[x,y]中满足下列条件的整数个数,这个数恰好等于k个互不相等的B的整数次幂之和 Input 15 20 2 2 Out 17 18 20 示例:17=24+20 18=24+21 2 ...
- Python 命名元组
from collections import namedtuple # 类 p = namedtuple("Point", ["x", "y&quo ...
- HTTPS双向认证+USB硬件加密锁(加密狗)配置
环境: Ubuntu14.04,apache2.4.7, openssl1.0.1f 安装apache2 apt-get install apache2 -y 一般openssl默认已经安装 开启a ...