目录
1.静态变量和静态函数。
2.认识封装。
3.使用包。
4.使用访问控制修饰符
1.静态变量和静态函数。
1.静态变量。
使用目的:一个类可以实例化很多对象,各对象分别占据各自的内存。同样的信息保存多次时,为了不浪费空间。让各对象共有内容只用一个空间存储,可以把变量定义成静态变量。
怎样使用:在其变量定义前加上关键字 static
class person{
String name;
static String workname;
}
public test{
public static void main(String[]args){
person wanwu=new person();
wangwu.name="王五";
wangwu.workname="工程师";
person lixiang=new person();
System.out.println("lixiang.workname="+lixiang.workname)
;
}
}
这边我们输出的就是lixiang.workname="工程师",
workname成为了静态变量,王五和李想指向同一个存着workname为工程师的内存空间。
我们需要注意的是:1.静态变量可以通过"对象名.变量名"访问,也可以通过"类名.变量名"访问。
非静态变量不能用"类名.变量名"访问,所以我推荐用"类名.变量名"访问静态变量。
2.静态变量在类被载入时创建,只要类存在,静态变量就存在,不管对象是否被实例化。
-----------------------------------------------------------------------------------------------
2.静态函数。
和静态变量一样,静态函数就是在普通函数的定义前加上关键字static。
要注意的是:在静态函数中不能直接访问类中的非静态变量和成员函数。不能使用关键字this。
可以用类名。
如下所示。
class A{
static String sex;
static void B(String sex){
A.sex=sex;
}
}
3.静态代码块。
在上一章我们讲到构造函数是对有些对象需要初始化而生的。(它对于每个对象进行初始化且执行一次);
而我们在这要讲的静态代码块它是对所有对象的共同信息进行初始化(并对每个对象执行一次)
下面举个例子:
class A{
String sex;
static int age;
static{
age=12;
System.out.println("静态代码块执行")
}
}
public class Work1{
public static void main (String[]args){
A zhangsan=new A();
A lixiang=new A();
}
}
*以上代码使用静态代码块给age初始化,age是两个对象zhangsan和lixiang的公共信息。
-----------------------------------------------------------------------------------------------
2.认识封装。



