1.package:
1)作用:避免类名的冲突
2)包名可以有层次结构
3)类的全称: 包名.类名,同包中的类不能同名
4)建议:包名所有字母都小写
import:
1)同包中的类可以直接访问,
不同包中的类不能直接访问,想访问有如下两种方式:
1.1)先import声明类再直接使用类------建议
1.2)类的全称------------------------太繁琐、不建议
2.访问控制修饰符:
1)public:公开的, 任何类
2)private:私有的, 本类
3)protected:受保护的, 本类、派生类、同包类
4)默认的:什么也不写, 本类、同包类
说明:
1)类的访问修饰符只能是public或默认的
2)类中成员的访问修饰符如上四种都可以
3.final:最终的、不可改变的----应用率低
1)修饰变量:变量不能被改变
2)修饰方法:方法不能被重写
3)修饰类:类不能被继承
4.static:静态的
1)静态变量:
1.1)由static修饰
1.2)属于类的,存储在方法区中,只有一份
1.3)常常通过类名点来访问
1.4)何时用:所有对象所共享的数据(图片、音频、视频等)
2)静态方法:
2.1)由static修饰
2.2)属于类的,存储在方法区中,只有一份
2.3)常常通过类名点来访问
2.4)静态方法没有隐式this传递,
静态方法中不能直接访问实例成员
2.5)何时用:方法的操作仅与参数相关而与对象无关
3)静态块:
3.1)属于类的,在类被加载期间自动执行,
类只被加载一次,所以静态块只执行一次
3.2)何时用:用于加载/初始化静态资源(图片、音频、视频等)
内存管理:
1)堆:new出来的对象(包括实例变量)
2)栈:局部变量(包括方法的参数)
3)方法区:.class字节码文件(包括方法、静态变量)
成员变量:
1)实例变量:没有static修饰,属于对象的,存储在堆中,
有几个对象就有几份
通过对象名点来访问
2)静态变量:由static修饰,属于类的,存储在方法区中,
只有一份
通过类名点来访问
class Aoo{
int a; //实例变量
static int b; //静态变量
}
数据:私有(派生类的)、受保护(超类的)
行为:公开面向对象第四章
原文:https://www.cnblogs.com/ahaijava/p/9965912.html