2017-09-21

Object 类:

Object 类是所有类的父类,位于java.lang包中;

数组是object类的子类;

Object 和object [ ]的区别:

Object :任何类型的参数都可以进行传进执行;

object [ ]:对象型数组,只能接受保存引用类型的数组;

Object类的常用方法:

toString();

toString方法可以将任何一个对象转换成字符串返回,返回值的生成算法为:getClass().getName() + ‘@‘ + Integer.toHexString(hashCode())。

equals();
Object类中的equals方法,用来比较两个引用的虚地址。当且仅当两个引用在物理上是同一个对象时,返回值为true,否则将返回false。

比较对象的虚地址,但是可以在类中被重写。

如:String类重写了,两个相同值的String对象相比较为   true;

String str=new String(“123”);

String str1=new String(“123”);

System.out.println(str.equals(str1));à打印为true.

“==”

比较的是内存中的虚地址

String str=new String(“123”);

String str1=new String(“123”);

System.out.println(str==str1);à打印为false

hashCode();

获取对象的哈希码值,为16进制

父类:

public class Course {

String title;

int money;

Course(){

System.out.println("父类----------无参");

}

public Course(String title,int money){

this.title = title;

this.money = money;

System.out.println("父类----------有参");

}

void teach(){

System.out.println("父类----------teach");

}

}

子类1:

public class courseSon1 extends Course{

String title;

int money;

courseSon1(){

System.out.println("子类1----------无参");

}

public courseSon1(String title,int money){

this.title = title;

this.money = money;

System.out.println("子类1----------有参");

}

void teach(){

System.out.println("子类1----------teach");

}

void student(){

System.out.println("子类1----------student");

}

public String toString() {

return "courseSon [title=" + title + ", money=" + money + "]";

}

public boolean equals(courseSon1 obj) {

String str = this.title;

if(str.equals(obj.title)&this.money==obj.money) {

return true;

}else {

return false;

}

}

}

子类2:

public class courseson2 extends Course {

String title;

int money;

courseson2(){

System.out.println("子类2----------无参");

}

public courseson2(String title,int money){

this.title = title;

this.money = money;

System.out.println("子类2----------有参");

}

void teach(){

System.out.println("子类2----------teach");

}

void student(){

System.out.println("子类2----------student");

}

public String toString() {

return "courseSon [title=" + title + ", money=" + money + "]";

}

public boolean equals(courseson2 obj) {     //

System.out.println(obj.title);

String str = this.title;

if(str.equals(obj.title)&this.money==obj.money) {

return true;

}else {

return false;

}

}

}

public class Main {

public static void main(String[] args) {

// TODO Auto-generated method stub

courseSon1 dddd = new courseSon1("数学",100);

courseson2 aaaa = new courseson2("数学",100);

courseson2 cccc = new courseson2("数学",100);

System.out.println(dddd.equals(aaaa));     //如果没有重写equals方法,结果false

System.out.println(dddd.equals(cccc));

System.out.println(aaaa.equals(cccc));

fun(dddd);

fun(aaaa);

System.out.println(dddd.toString());     //因为子类没有返回值    结果是地址

System.out.println(aaaa.toString());

}

static void fun(Course cs) {

cs.teach();

}

}

时间: 2024-10-14 21:56:14

2017-09-21的相关文章

leetcode练习:2017/09/21~09/22

Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 Note:The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows. var min_32 = 1<<31

2016.09.21 公司裁员想到的

公司最近裁员,好多同事都走了. 想到了,不管在那里都要努力工作,成为该领域的专家,才能立于不败之地. 得之何喜,失之何忧. 加油,最好自己,无愧我心. 不断进步,不断上升 2016.09.21 晚 于北京朝阳

2017.1.21总结

---恢复内容开始--- 今天写了2道题,一道p1227 一道p1919 p1227原题: 给出一有向图,图中每条边都被标上了关系运算符'<','>','='.现在要给图中每个顶点标上一个大于等于0,小于等于k的某个整数使所有边上的符号得到满足.若存在这样的k,则求最小的k,若任何k都无法满足则输出NO. 例如下表中最小的k为2. 结点1>结点2结点2>结点3结点2>结点4结点3=结点4 如果存在这样的k,输出最小的k值:否则输出'NO'. 这道题是差分约束+拓扑排序题目,需

2017/1/21 上午活动

2017/1/21 上午       from高嘉怡 用开源飞控套件做一架Mini四轴飞行器 http://www.chuangkoo.com/project/48 材料清单 1.MWC飞控)*1                    82元/件 https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-2963753174.64.yQPiw8&id=18839984356 2.720空心杯电机  黑白线*4     5.5元/个 红蓝线*4

调试大叔V1.0.1(2017.09.01)|http/s接口调试、数据分析程序员辅助开发神器

2017.09.01 - 调试大叔 V1.0.1*支持http/https协议的get/post调试与反馈:*可保存请求协议的记录:*内置一批动态参数,可应用于URL.页头.参数:*可自由管理cookie:*支持请求的代理与模拟环境参数设置:*时间戳管理(取网络当前时间戳.转成日期.转成倒计时):*支持拖放文件到本程序窗计算文件的MD5.SHA1.CRC32值:*集成常见编码解码(Ansi与Utf8互转.URL加解密.UniCode转中文);*集成常用符号与其UniCode值:*集成常用数学计算

【2017.09.29 星期五 关于c++瞎侃】

c++中最重要的语法特征就是 类 了,通过它,程序员可以自定义自己的数据类型. c++中的类包含 数据成员 也 包含 函数成员. C++语言主要的一个设计目标 就是让程序员自定义的的数据类型向 内置类型一样 好用. 基于此, 标准c++库 实现了丰富的类和函数. 野心很大 [2017.09.29 星期五 关于c++瞎侃]

无垠PE组合工具2017.09.03 维护版网络版

适合大众--无垠PE组合工具,维修维护专用--简洁实用.功能俱全,赢得信赖! 无垠PE及工具都源于无忧启动论坛所得,无OEM或个人信息,不修改主页.不写垃圾文件.无广告.无暗扣.无陷阱!采用Win8PEx64内核.工具网络全内置,支持UEFI启动.可量产.刻盘.U+/B+.无垠PE组合工具修改版由网友"恋梦"更新维护,在原版基础适当精简后,针对里面工具进行升级,精简不常用工具,维护系统完全够用!123 新版变化 2017.09.03 更新- Acronis True Image 201

2017.7.21夏令营清北学堂解题报告

预计分数: 60+30+0=90=划水 实际分数: 90+30+20=140=rank5=雷蛇鼠标 一句话总结:今天该买彩票! T1: 题目描述 从前有一个?行?列的网格. 现在有?种颜色,第?种颜色可以涂??格,保证 Σ? ?? = ? * ?. 需要你对这个网格图进行着色,你必须按照从上到下,每一行内从左到右 的顺序进行着色,并且在用完一种颜色前你不能换颜色(当然颜色的使用顺序 是随意的). 每个相邻的相同色块可以获得1分,问在给定的规则下进行着色所能获得的 最高分是多少. 多组数据. 输入

[题解]线段树专题测试2017.1.21

很单纯的一道线段树题.稍微改一下pushDown()就行了. Code(线段树模板竟然没超100行) 1 #include<iostream> 2 #include<sstream> 3 #include<cstdio> 4 #include<cmath> 5 #include<cstdlib> 6 #include<cstring> 7 #include<cctype> 8 #include<queue> 9

2017.2.21 activiti实战--第七章--Activiti与容器集成

学习资料:<Activiti实战> 第七章 Activiti与容器集成 本章讲解activiti-spring可以做的事情,如何与现有系统集成,包含bean的注入.统一事务管理等. 7.1 流程引擎工厂 7.1.1 ProcessEngine 创建processEngine的方法有三种: 1 通过配置文件 2 测试中通过ActivitiRule 3 通过ProcessEngines类 7.1.2 ProcessEngineFactory 与spring集成的目的有两个: 1 通过spring统