1 封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
封装好处: 1.将变化隔离;
2.便于使用。
3.提高重用性。
4.提高安全性。
封装原则: 将不需要对外提供的内容都隐藏起来。 把属性都隐藏,提供公共方法对其访问。
private:关键字
A:用于修饰成员变量和成员方法。
B:被修饰的内容在其他类中是不可以被访问的。注意:私有仅仅是封装的一种体现而已。
将对象的属性封装起来
1.1class Person{ //成员变量不赋值也可以进行运行,默认初始化值是null String name; //私有化年龄 private int age; //对外提供公共设置的访问方式 public void setAge(int a){ //加入判断,使程序更为符合逻辑 if(a>=0 && a<=120) age=a; else System.out.println("年龄非法"); } //对外提供公共的获取方法 public int getAge(){ return age; } //人可以说出自己的名字和年龄 public void speak(){ System.out.println("name="+name+"...age="+age); } } //Person测试类 class PersonTest{ public static void main(String[] args){ Person p = new Person(); //对p对象的name属性进行赋值。 //p.age=-20//age被直接访问有安全隐患,有非法数据,加关键字private,age默认值是0 //p.setAge(-20);失败,因为不符合Person类中年龄的设置规则。 p.name="Xcc"; //对p对象的age进行设置。 p.setAge(20); //调用p对象的speak方法,打印自己的姓名和年龄。 p.speak(); } }
构造函数:构造函数特点:
1. 函数名与类名相同
2. 不用定义返回值类型
3. 没有具体的返回值。
构造函数:构建创造对象时调用的函数。
构造函数作用:给对象进行初始化。
创建对象都必须要通过构造函数初始化。
一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数构造函数。
如果在类中定义了指定的构造函数,那么类中的默认构造函数就没有了。
注意:
1. 默认构造函数的特点。
2. 多个构造函数是以重载的形式在在的。
一般函数和构造函数什么区别呢?
什么时候定义构造函数呢?构造函数:对象创建时,就会调用与之对应的构造函数,给对象进行默认初始化。
一般函数:对象创建后,需要函数功能时才调用。(函数只有被调用才执行)
构造函数:对象创建时,只调用一次。
一般函数:对象创建后,可以被调用多次。
在描述事物时,该事物已存在就具备一些内容,这些内容都定义在构造函数中。
构造函数可以有多个,用于对不同的对象进行针对性的初始化。
多个构造函数在类中是以重载的形式来体现的。