1)static关键字

static可以修饰:属性、方法、代码块

静态方法不能访问非静态 属性 或 方法

属性(变量):
成员变量:
静态变量: 通过 类名.静态变量来访问
通过 对象名.静态变量来访问(是有警告的)
存在于方法区中,有且仅有一份
非静态变量
局部变量
代码块
代码块的执行顺序

1、静态代码块:哪个静态代码块放在前边,就先执行谁
2、普通代码块:哪个普通代码块放在前边,就先执行谁
3、构造方法

如果有两个类,一个类是Father,另一个类是Child , Child 继承了 Father ,
这两个类中都有 构造方法,普通代码块、静态代码块
那么当 new Child() 的时候,执行顺序是什么?

代码块执行顺序:父类static(同级别与出现顺序有关)--->子类static--->父类普通-->父类构造--->子类普通-->子类构造
代码块的作用:

可以对 属性 进行一个初始化的操作

我们在一个类中可以写什么呢?

目前为止:
1、属性:静态属性 和 实例属性
2、方法:静态方法 和 实例方法
3、构造方法: 与类名相同的 ,没有返回的 公开的 方法
4、代码块:静态代码块 和 非静态代码块(普通代码块)
静态代码块 可以为 静态属性 进行 初始化操作
普通代码块 可以为 实例属性 进行初始化操作

2)

final
表示最终的,不可修改的,经常用于修饰类、方法、变量

final 修饰的类,不可以被继承
final 修饰的方法,不能被重写
final 修饰的变量 ,不能被更改
建议:用final 修饰的变量 全部大写

3)

toString() :
本来在Object中的形式:
getClass().getName() + "@" + Integer.toHexString(hashCode());
得到对应的类,从而得到对应的类型,然后 通过计算 hashCode 的 十六进制 数 拼接而成的字符串

重写之后的形式:
String s = "[" + this.studentName + "," +this.sutdentNumber + " , " + this.gender + " , " + this.age + "]" ;
理论上说,可以写任何形式的toString形式,但是,建议使用 属性来写toString

作用:
为了查看到 对象中的 具体的属性 的 值

4)
equals() :
在Object 类中 equals 是这么写的:
public boolean equals(Object obj) {
return (this == obj); // 底层还是用 == 比较,比较的还是地址
}

我们判断两个对象是否"相等"
可能在某种情况下( 在某种条件下 ) 我们认为是相等的
针对于学生来说:
学号、姓名、年龄、性别都相等,那么我就认为他们是相等的

官方建议: 重写 hashCode()
如果说 不重写 hashCode() , 会默认调用 Object 的hashCode()方法,但是 不一定能保证 维护 hashCode 方法的常规协定
5)
hashCode() :
hashCode 是 一种 特殊的 数组 通过 一系列的公式来算 hashCode

元素 11 22 33 44 55
下标 0 1 2 3 4
(下标+ 1 ) × 11

如果重写了 equals 必须重写 hashCode 方法
保证 维护 hashCode 方法的常规协定(三条)

static,final关键字,Object类的tostring方法,equals方法,hashCode方法的更多相关文章

  1. java继承,final,super,Object类,toString,equals,

    Java中的内部类:成员内部类静态内部类方法内部类匿名内部类 内部类的主要作用如下: 1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类 2. 内部类的方法可 ...

  2. Object类的toString()和equals()方法

    我们知道,Object类是所有类的父类,因此也被称为根类.祖先.那么,我们就来看一看Object类的最常用的两个方法是如何用的. 1.toString方法: Object类的toString()方法默 ...

  3. 1.9(java学习笔记)object类及toString()与equals()方法

    object类 java中objec是所有类公共的父类,一个类只要没有明显的继承某一类,那么它就是继承object类. 例如 class Person {......};和class Person e ...

  4. Object类的toString和Equals方法,以及Objects类的Equals方法

    Object类 toString()方法 public class Person { private String name; private int age; public Person() { } ...

  5. java中equals和hashCode方法随笔二

    前几天看了篇关于java中equals和hashCode方法的解析 1.Object类中的equals方法和hashCode方法. Object类中的equals和hashCode方法简单明了,所有的 ...

  6. Java中的Object类的toString()方法,equals()方法

    Object类是所有类的父类,若没有明确使用extends关键字明确表示该类继承哪个类,那么它就默认继承Object类,也就可以使用Object中的方法: 1.toString 如果输出一个对象的时候 ...

  7. Java基础知识强化27:Object类之toString()方法

    1. Object类的toString()方法: public  String  toString():返回该对象的字符串表示 2. 案例演示: (1)Student类: package cn.itc ...

  8. Java第11次作业:什么是继承?继承的好处?什么是覆写?super()?构造代码块?子父类初始化顺序? 抽象类能用final声明吗?final关键字声明类 方法 变量以及全局常量?抽象类的构造方法?

    什么是继承? 继承是以父类为基础,子类可以增加新的数据或新的功能.子类不能选择性地继承父类.这种技术使得复用以前的代码非常容易. JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一 ...

  9. Java:验证在类继承过程中equals()、 hashcode()、toString()方法的使用

    以下通过实际例子对类创建过程汇中常用的equals().hashcode().toString()方法进行展示,三个方法的创建过程具有通用性,在项目中可直接改写. //通过超类Employee和其子类 ...

随机推荐

  1. .net 委托 +lamda表达式

    1.委托与类同级 想当于定义了一个类型 如 delegate int Sum(int a, int b);// 在声明类之前声明 2.这里可以在类里写个函数 public int sumAB(int ...

  2. hdu 6437 /// 最小费用最大流 负花费 SPFA模板

    题目大意: 给定n,m,K,W 表示n个小时 m场电影(分为类型A.B) K个人 若某个人连续看了两场相同类型的电影则失去W 电影时间不能重叠 接下来给定m场电影的 s t w op 表示电影的 开始 ...

  3. spring boot Swagger2(version=2.7.0) 注解@ApiImplicitParam的属性dataType值为”自定义泛型“应用

    注解: @ApiImplicitParams @ApiImplicitParam    name="需注解的API输入参数", value="接收参数的意义描述" ...

  4. Flask理论基础(一)加载配置文件

    一.修改/新增配置项 1.使用配置文件 app.config.from_pyfile("config.cfg") 如上 config.cfg 可以是任意后缀的文本文件,需要与app ...

  5. MonkeyTalk使用方法

    1.简单介绍 MonkeyTalk软件测试工具由两部分构成:MonkeyTalk IDE 和 MonkeyTalk Agents MonkeyTalk IDE是Eclipse平台的工具,工能是:对iO ...

  6. Java中volatile关键字及其作用是什么?

    在 Java 多线程中如何保证线程的安全性?那我们可以使用 Synchronized 同步锁来给需要多个线程访问的代码块加锁以保证线程安全性.使用 synchronized 虽然可以解决多线程安全问题 ...

  7. selenium 显示等待、隐式等待、强制等待

    如今大部分web程序使用Ajax技术,当浏览器加载页面时,页面元素可能不是同时加载完成,如果因为加载某个元素超时导致ElementNotVisibleException的情况出现,自动化脚本的稳定性就 ...

  8. js实现canvas保存图片为png格式并下载到本地

    canvas 保存图片 下载到本地 function base64Img2Blob(code){ var parts = code.split(';base64,'); var contentType ...

  9. NX二次开发-UFUN将工程图中的点坐标映射到建模绝对坐标UF_VIEW_map_drawing_to_model

    #include <uf.h> #include <uf_ui.h> #include <uf_draw.h> #include <uf_view.h> ...

  10. hdu多校第九场 1006 (hdu6685) Rikka with Coin 暴力

    题意: 有一些1毛,2毛,5毛,1块的钢镚,还有一些价格不同的商品,现在要求你带一些钢镚,以保证这些商品中任选一件都能正好用这些钢镚付账,问最少带多少钢镚. 题解: 对于最优解,1毛的钢镚最多带1个, ...