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. pycharm中django同步数据库问题

    一.Django数据同步过程中遇到的问题: 1.raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you hav ...

  2. Django(十四)课程机构列表页数据展示,Django的modelform,关于urls的重新分发

    关于urls的重新分发: 如果所有url都配置在根路径的urls.py里,会特别多,而且也不易于修改,Django框架里支持urls的重新分发: 1.在根路径的urls配置上: PS:namespac ...

  3. Swift结构体和类

    Swift结构体 在Swift标准中,绝大多数的公开的类型都是结构体,而枚举和类只占很小的一部分 比如Bool.Int.Double.String.Array.Dictionary等常见的类型都是结构 ...

  4. Linux 档案目录的结构及功能(鸟哥私房菜)

  5. struts2验证器

    1. Struts2 的验证(note6,struts2-8) 1). 验证分为两种: > 声明式验证* >> 对哪个 Action 或 Model 的那个字段进行验证 >&g ...

  6. CSIC_716_20191129【 单例模式 的五种实现方式】

     单例模式 单例模式:在确定类中的属性和方法不变时,需要反复调用该类的情况.  让所有通过该类实例化出的对象,都指向同一个内存地址. 优点:节省内存空间. 单例模式有五种表现形式: 1.通过class ...

  7. leetcood学习笔记-66-加一

    题目描述: 第一次提交: class Solution: def plusOne(self, digits): digits[-1]=digits[-1]+1 for i in range(len(d ...

  8. 帝国cms简介显示转义字符问题

    在模板中设置简介截取字数为0,前端显示用css控制即可 white-space: nowrap; overflow: hidden; text-overflow: ellipsis; 也可以 1,在后 ...

  9. mysql 第一次启动及常用命令

    启动 mysql -u root -p 进入后 # 显示有几个数据库 mysql> show databases; +--------------------+ | Database | +-- ...

  10. Java-Class-@I:org.springframework.validation.annotation.Validated

    ylbtech-Java-Class-@I:org.springframework.validation.annotation.Validated 1.返回顶部   2.返回顶部 1. package ...