文章目录
- 前言
- 一、构造方法
- 二、访问修饰符
- 三、static 关键字
- 1.静态方法
- 2.静态变量
- 3.静态方法块
- 总结
前言
以下是本人自学过程中所总结的笔记(含个人理解),欢迎大家浏览并留言,若有错误的地方请大家多多包含,并感谢大家的斧正。
一、构造方法
因为JAVA底层是由C++编写所以有些语法规则是由C++继承而来所以它的构造方法的名称与类名一致也与C++规范相同因为创建对象时无法接收返回值以及避免歧义所以构造方法是没有返回值的即使是void也不行,大概因为构造函数大多用于数据的初始化所以在创建对象时开辟存放的内存空间后会根据对象参数列表匹配指定的构造方法对象在创建时就会自动执行构造方法,而且为了避免浪费在创建有参数的构造方法后默认的无参数的构造方法会消失如果想要使用则需要自己创建一个无参构造函数。
二、访问修饰符
Java是一门面向对象的语言其特性就让它对类的创造者而言是公开细节的而对于使用者来说是隐藏它的实现过程的多级的权限使其变的更加健壮,有更多的使用方式。
三、static 关键字
1.静态方法
使用static关键字修饰的方法就是静态方法,因为静态方法在程序启动时就已经储存在内存中了而不是像非静态方法一样是实例化时才开始存储,所以可以直接利用类名直接调用也可以像普通方法一样使用,这个时候可能有人要问了就这点用处吗?那我为什么要这么做呢,它还占内存,那是因为正是事先占了内存他的访问速度会快很多,而且生命周期更长,有时可能无法实例化对象也需要它的帮忙。因为它们储存时间的不同所以在静态方法中不能调用直接调用非静态方法,而是需要实例化,需要注意的是main方法也是静态方法。
2.静态变量
与静态方法相似,使用static关键字修饰的变量就是静态变量而非静态变量又称为实例变量与其方法相似它同样在程序启动时就已经储存在内存中的静态数据区了,并且随着类的加载而加载也是通过类名直接使用因为储存方式的特殊性所以它是属于类的而不是对象所以所有该类对象共有这个静态变量,这能使代码变的更安全也有着延长生命周期的作用。
3.静态方法块
因为静态代码块随类的加载而调用,类的加载也只会加载一次所以静态代码块也只会运行一次并且运行速度快于构造方法,有多个静态代码块则按先后顺序执行,因为它的特性静态代码块多用于需要程序启动时就执行且只执行一次的代码。
总结
可能有些啰嗦,也不是太全面后面还会有补充,因为还在初学阶段还在慢慢探索觉得应该多问为什么,才能在使用时少问为什么,如果能看到这里非常感谢您的耐心,希望我们能够一起加油。