访问控制
对类的访问控制
public
在任何地方都能使用
default(默认)
只能在本包内使用
对属性和方法的访问控制
private
只能在定义它们的类中使用(本类)
default(默认)
只能在本包内使用——同包权限
protected
只能在同包或者子类中调用
public
所有地方均可调用
static关键字
什么是static:属于类的,类方法,类变量。
static成员存放在方法区中,每个对象的static共享同一段内存。
无static修饰,则是实例方法和实例变量。
static修饰成员变量,成员变量变成静态时,无论有多少个对象,此变量只有此一份·任何操作在此基础上进行。
static修饰成员方法
静态方法不能操作非静态变量
static块----static{}
JVM第一次加载时-----是类的---只创建执行一次
可以存储值,在程序中一直有效,静态成员变量的作用域3只在类的内部,但其生命周期却贯穿整个程序;
在没有实例化对象时,可以通过类名访问静态成员变量;
也可以通过对象访问静态成员变量——但无论哪个对象,访问到的都是同一个变量,所以用类名调用。
用于加载资源---加载地图---只加载一次
**有了static是属于类的,,,在此基础加
没有static是各自的,**
类名.方法----调用
静态类,JVM加载类,看到类名时----先---不能操作非静态
非静态-----创建对象---后
People p1 = new People();
People p2 = new People();
p1.a++;
System.out.println(p1.a);
p2.a++;
System.out.println(p2.a);
}
public class People {
public int a;
}1 1
public class People {
public static int a;
}1
2
static final 常量通常用于保存整个应用程序共享的常量值。