【static + 代码块+toString打印对象】

简介: 【static + 代码块+toString打印对象】

文章目录


static成员

举例:一个班的学生,在实例化每个人的名字,年龄,学号等学员信息时都不一样,但他们的班级是同一个,那需要每个学生都写这个教室对象吗,这样代码量太繁琐了,如果只需要写一次ClassRoom,让大家共享它,这就需要static去修饰ClassRoom。

static修饰成员变量

static修饰的成员变量,称为静态成员变量

静态成员变量最大的特性:不属于某个具体的对象,是所有对象所共享的

注意(重点):

  1. 通过类名调用静态成员变量或者静态成员方法,它们不依赖于对象
  2. 在静态方法中不能调用非静态成员变量或者非静态成员方法,例如this
  3. 被static修饰的变量只能是成员变量(类里),不能是局部变量(方法里)

static成员变量初始化

静态成员变量的初始化分为两种:就地初始化 和 静态代码块初始化。

  1. 就地初始化
    就地初始化指的是:在定义时直接给出初始值
  2. 静态代码块初始化

代码块

1.构造代码块

  1. 静态代码块
    使用static定义的代码块称为静态代码块。一般用于初始化静态成员变量。

static做题的注意事项 (重点):

1 静态代码块先执行

然后执行构造代码块

最后执行对应的构造方法

  1. 被static修饰的代码 只执行1次,不管后面再new几个对象,都是无效的。(重点)
  2. 如果成员变量有好几个static修饰,会遵循从上到下的顺序计算(重点)

对象的打印

写show方法打印对象

调用toString打印对象

不想写show方法打印对象,可以调用toString打印对象

鼠标右键

总结

今天就学到这,学太多反而有点混乱了,效率也不高,最后这个代码块和打印对象看了四五遍才看懂,不是说很难理解,可能太累了,效率变慢了。

相关文章
|
Java
try()catch{}写法
try()catch{}写法
52 0
|
算法 Java 数据库
抽象类和接口 && String的理解 && StringBuilder和StringBuffer && 异常的基本用法 && 时间复杂度
抽象类和接口 && String的理解 && StringBuilder和StringBuffer && 异常的基本用法 && 时间复杂度
72 0
|
Java
Java 类对象(Object)内容(属性值)转字符串(toString)
Java 类对象(Object)内容(属性值)转字符串(toString)
214 0
println输入和toString方法的重写
println输入和toString方法的重写
129 0
|
Java
main主函数(主方法)里头的参数String[] args有啥作用?
很多老铁不清楚JAVA主方法中main()里面的的参数是什么意思,以及有什么作用,接下来给大家用最通俗易懂的话来讲解。
200 0
main主函数(主方法)里头的参数String[] args有啥作用?
|
存储 Java 对象存储
Java常用类、String的特性、String对象的创建、字符串的特性、String使用陷阱、符串相关的类:String常用方法如toLowerCase()、compareTo、substring
Java常用类、String的特性、String对象的创建、字符串的特性、String使用陷阱、符串相关的类:String常用方法如toLowerCase()、compareTo、substring
Java常用类、String的特性、String对象的创建、字符串的特性、String使用陷阱、符串相关的类:String常用方法如toLowerCase()、compareTo、substring
|
Android开发
构造函数与toString
构造函数与toString
277 0