静态变量可以通过“对象名.变量名”来访问,也可以通过“类名.变量名”来访问。
底层上来说 静态变量在类被载入时创建,只要类存在,静态变量就存在,不管对象是否被实例化。如果将一个变量声明为static
,它就是所谓的静态变量了。
① 静态变量可以用于引用所有对象的公共属性(对于每个对象不是唯一的)。如:大学名称。
② 优点:它能使程序存储器高效(即它节省内存)。只存取一次内存。
全局静态变量作用域:全局静态变量的作用域只在声明它的文件下是可见的,而全局变量在整个工程中是可见的。其优点如下:
1):不会被其他文件访问和修改;
2): 其他文件使用相同的名字的变量名不会发生冲突。
局部静态变量的作用域:作用域是局部的,当定义它的函数或者语句块结束时,作用域也跟着结束。
其中出现最大的原因是:节约内存,存取一份,对象共享这个属性。
特征:① 静态static修饰的成员优先于对象存在。
② 静态static修饰的成员,随着类的加载而进入内存。
③ 静态static修饰的成员,是共享的,而对象中储存的则是特有的。
④ 静态static修饰的成员,不仅可以被对象使用,还能被类直接使用。
⑤ 普通方法可以直接访问同类的静态和非静态变量。
⑥ 调用非静态变量,可通过创建类的对象来访问非静态变量。
例如:
class demo1
{
String name; //成员变量
static String country = "China"; //静态成员变量,又称类变量
}
二、封装
1.概念:类的某些信息隐藏在内的内部不允许外部程序直接访问,而是通过该类提供的方法类实现对隐藏信息的 *** 作和访问。
2.实现步骤:
① 属性可见性: private ,
② 创建 getting/setting 用于属性的读写。
③ 在getting/setting中。加入属性控制语句,对属性的合法性进行判断。
3.优点:
① 封装细节,便于修改内部代码,提高可维护性。
② 简化外部调用,便于调用者使用用于扩展和写作。
ps :可以使用封装来完善对象的使用。
三、包
在编写代码中所有的类都写在一个Java文件中,可能会使文件特别臃肿。
因此Java使用类似文件夹管理文件的方法来管理类,这就是包。
包的机制;
① 通常是类的第1句非注释性语句。
② 包名:域名倒着写即可,再加上模块名,便于内部管理类。
③ 写项目时都要加包,不要使用默认包。
④包名中1.1和1.1.2 是没有包含关系,是两个完全独立的包名。
作用: 解决文件同名的冲突。
四、访问修饰符可以修饰属性和方法的访问范围。
访问权限修饰符 | ||||
---|---|---|---|---|
修饰符 | 同一个类 | 同一个包中 | 子类 | 所有类 |
private | * | |||
default | * | * | ||
protected | * | * | * | |
public | * | * | * | * |
访问包中的类
① 在同一个包中直接用类名来访问,不用指定类所在的包。
② 两个内在不同一个包的情况。
1)在使用类时指定类的路径。
2)用import语句导入该类。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)