2.24 Java基础总结 ①访问权限②static③静态方法④实例初始化块⑤静态初始化块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.24 Java基础总结 ①访问权限②static③静态方法④实例初始化块⑤静态初始化块相关的知识,希望对你有一定的参考价值。
①访问权限②static③静态方法④实例初始化块⑤静态初始化块
一、访问权限
默认是同包
protected是有关系的,即同包和不同包的子类
private只有本类,public全部
本类 | 同包 | 不同包 | |||
子类 | 非子类 | 子类 | 非子类 | ||
private | √ | ||||
默认(同包) | √ | √ | √ | ||
protected | √ | √ | √ | √ | |
public | √ | √ | √ | √ | √ |
二、static
静态成员变量,类级别,全类共享一个
Person.country = "中国";
一般用在有共同的属性的时候,或者常量
public static final int PI = 3.14;否则每个对象在new 的时候都会有个PI,浪费空间
可以不创建对象直接调动,也可以new一个对象在调用
特点①与对象无关,与类有关②全类共享一个值③预加载(随着类的加载而被加载)
public static int num = 0;
构造(){
num++;
}
三、静态方法
随着类的加载而被加载
static的方法不能操作非static的任何属性和方法,
原因:①类级别,与对象无关②类先被加载,非static的还没有被加载到内存
常用在:工具类的工具方法
四、实例初始化块
{}
构造(){}
在产生对象的时候自动执行,new几次执行几次,使用量少,因为完全可以写到本类构造方法前几行
在父类的构造方法之后,在本类的构造方法之前
五、静态初始化块
static{}
类加载的时候自动执行,且只会执行一次,使用量大
比如在一些准备工作,文件的准备,数据库初始化
new 子类();
执行顺序:fu静,子静,fu实,fu构,子实,子构
父类静态初始化块,子类静态初始化块(先对象,new子类会先调父类)
父类实例初始化块,父类构造器(调子类构造会先调父类构造,实例初始化块在构造器之前)
子类实例初始化块,子类构造器
以上是关于2.24 Java基础总结 ①访问权限②static③静态方法④实例初始化块⑤静态初始化块的主要内容,如果未能解决你的问题,请参考以下文章
1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用