java学习日志day09
2019年7月9日
温故知新
对象
类(属性:成员变量)、方法(成员方法,构造方法,构造代码块)
继承 extends 子类继承主类,就是代码的拓展
–-----------------–---------
关于修饰符 static
静态变量随着类的加载(发发去的静态常量池),而加载到方法
区的京台区,静态区会对储存的静态变量进行系统默认初始值赋值
静态变量与类同级,也叫类变量,可以通过 类名.静态变量名称 调用
也可以通过创建对象调用;
静态变量所在的类,创建的所有对象都拥有唯一一个静态变量
所在区域的地址值,所有的对象共享静态变量;
所有被static所修饰的,都存放在方法区内的静态区;
当数值存入方法区后,将数值变成一个静态变量,
所有的相同属性,共享静态变量;
如果属性需要被共享,就可以用static修饰属性;不能定义在方法中;
静态变量与类同级,方法被调用里面的内容才加载执行;
静态变量不可以定义构造方法中,静态变量与类同级,构造方法与
对象同级,类优先于对象;
修饰方法(静态方法)
静态方法是随着类的加载而加载到方法区的静态区,不会对静态方法进行赋值
如果这个静态方法被调用,就会被加载到栈中执行,静态方法与类同级,
类方法,可以通过类名,静态方法也可以通过对象调用;
静态方法不可以定义静态变量,静态变量与类同级,从一开始就要加载,
静态方法里的内容需要等到调用时才能加载执行;
静态方法不能使用this,static修饰的所有都与类同级;之中不能用this;
静态方法区内不能直接调用非静态方法,不创建开辟空间的情况下;
非静态方法可以直接调用静态信息
静态方法可以直接调用静态方法;
Arrays.toString();
Arrays.sort();
Array.copyOf();
System.arraycopy()
静态方法
java中方法签名一致的方法,要么是静态方法要么都是非静态方法;
如果static 修饰代码块(静态代码块)
随着类的加载而加载,但是只加载一次,所有静态信息都只加载一次,
优先对象级别加载,可以进行静态属性初始,预先加载一些重要信息。
执行顺序:类级别(父类静态信息–子类静态信息)–对象级别(父类对象级别
(成员属性、构造代码块、构造方法))–子类对象级别(成员属性、
构造代码块、构造方法)。
final (最终)
关键字----修饰符 可以修饰 数据 类 方法
如果修饰的是基本数据类型,数据值不能改变;
如果修饰的是引用数据类型,地址值不能改变,元素值可以改变;
static final int x=1; 静态常量
如果成员变量被final修饰且没有给值,要保证在创建对象之前给值,
如果成员变量被static和final共同修饰(静态常量),要保证在类
加载完成之前给值
修饰方法 最终方法
可以重载,不能重写
修饰类(最终类),不能继承, 可以有父类