目录:
一、静态的访问特点
二、静态成员变量和非静态成员变量的区别
三、文档注释
四、代码块
五、继承
- 静态的访问特点
- 编译提示:无法中静态上下文中引用非静态变量。静态不能直接调用非静态。
- 原因在与,内存中的生命周期不同。静态变量静态变量在进入内存的时候,对象还没有创建。因此,静态方法,不能访问非静态的成员。
- 静态优先对象存在(非静态的)
2.静态成员变量和非静态成员变量的区别
- 从内存位置上看
- 静态的跟随类,在静态去中存储
- 非静态的,跟随对象在堆内存存储
b.从生命周期上
- 静态跟随类的加载二加载,跟随类的消失而消失。生命周期长。
- 非静态,跟随对象的加载而加载,跟着对象的消失而消失,生命周期相对较短。
c.从调用方式上
- 静态成员属于自己的类,可以被类名直接调用
- 非静态成员,只能对象调用
d.从作用上看
- 静态成员是对象的共享数据
- 非静态成员是对象的特有数据
e. 注意:
- 静态成员优先非静态创建。
- this也是对象,super也是对象。
- 静态之间调用,在同一个类中可以省略不写
- 非静态之间调用,在同一个类中可以省略this不写。
- 主方法main:
- Public 权限修饰符,最大权限,对于JVM是一个外来事物,调用main方法,要保证方法的权限足够大。
- Static 静态修饰,不需要对象,直接使用类名可以调用了。
- Void 没有返回值,如果有返回值,值返回到JVM。
- Main 不是关键字,但是java把这个单词占用了。
- String[] args (args 参数名,可以随便取)存储字符串的数组,也是main方法的参数,JVM调用main方法时,需要传入参数。
3.文档注释
- 符号:/** */
- 类的上方,使用文档注释,尽量写好功能、作者,版本
- 不是public权限的方法,不用写注释文档。
- 生产文档命令javadoc
- Javadoc -d 生成后的文档存放目录 提取的源文件.java
4.代码块
- 局部代码块:在方法中,直接写一个{},作用是限制变量的作用域。
- 成员代码块(构造代码块):在类的成员位置,直接写{},new对象就运行,new一次就运行一次,优先于构造方法执行。
- 静态代码块:类的成员位置,直接写static{},这个列只要进内存,只运行一次,不会出现第二次,并且优先于其他两个代码块。
5.继承
- 如果多个类中,出现了相同的属性和行为,将相同的类容抽取出来,形成另外的一个类。
- 程序中,先有子类,再有父类。
- 关键字extends继承的意思,使用在类的定义上,class A(子类) extends B(父类){}
- 好处:
- 使用继承后,代码量减少。
- 继承的出现后,使类与类之间产生了关系,正式因为有了这个关系,就导致了面向对象的第三大特征,多态的产生
- 继承以后,子类只能使用父类中非私有的成员变量。