对象数组
/*动态初始化*/
People[] people = new People[6];//创建对象数组
for(int i=0;i<people.length;i++){
people[i] = new people();//初始化对象数组
}
/*静态初始化*/
People[] people = new People[]{
new People(1001,"张三",95);
new People(1002,"李四",98);
new People(1003,"王五",89)
};
静态初始化用的比较少一些,特别要注意的是动态初始化,就像二维数组一样,是需要先去定义出来对象数组的长度,再去初始化对象数组,最后才能进行赋值操作
static修饰符
1.修饰属性是类属性,修饰方法叫类方法,修饰代码块,是静态代码块
2.static修饰的数据是类中所共享的,属于类,可以不借助于对象,直接通过类去访问,比如说在类的内部,通过方法名直接使用静态方法,通过属性名直接给静态属性赋值;在外部类中通过类名.方法名(类名.属性名赋值)
3.类对象可以访问类属性和类方法
4.static修饰的是全局变量(JVM结束时才销毁,常驻空间,会影响程序执行效率)
5.加载类时,程序会为静态变量去分配内存空间,并执行静态代码块
访问修饰符
public 公共的,项目类都可以访问,全局友好
protected 受保护的 父子友好,包内友好
default 默认的 包内友好
private 私有的 类内友好
一般来说,编程习惯
修饰类使用public
修饰构造器使用public
修饰属性使用private
修饰方法都可以使用,看具体的需求
类图的
-: private
+: public
~: default
#: protected
下划线: static
斜体: 抽象 (注意也可以用两个尖括号包裹来表示抽象,比如 —— <<我是抽象类or接口>>)
冒号前是方法名/变量名(根据有无括号区分),冒号后是返回参数/变量类型(根据有无括号区分),如果没有冒号的话表示方法返回空(也有人通过:void表示返空)
封装
a.属性私有 private
b.方法公开 public (get,set方法)
c.赋值时对数据进行合理化判断,给定一些默认值
好处
1.隐藏类的实现细节,保障数据安全访问。
2.方便加入存取控制操作语句,限制不合理操作。