编程小白从零开始认识封装 封装类的格式系统中使用的类都是有封装的一个类包含哪些内容面向对象的成员属性 使用对象变量名调用方法 使用对象变量名调用构造方法格式没有返回值结构且方法名是类名的方法 public 类名(){ }创建对象的时候调用 new 类名();作用 用于对象创建时的初始化 (属性的初始化 和 方法初始化调用)构造方法的重载 重载方法一个类中可以定义多个同名的方法 要求参数不一致构造代码块: { } 也是在对象创建时执行 也可以做一些初始化操作静态资源static 与对象没关系 靠类名调用 特性 唯一性静态属性在内存中只存在一份类名直接调用静态方法类名直接调用 不能直接使用本类中对象成员部分静态代码块只会执行唯一的一次 在类被加载时调用执行访问权限修饰符public 修饰类 属性 方法 表示权限是公开 在项目中都可以调用private 私有的 只能修饰类中的成员 权限是只能在本类中访问protected 只能在同一个包下 和 子类中访问缺省不写 类中缺省不写 同一个包下 接口中缺省不写 默认public面向对象三大特性之一实现对象的属性和方法的控制访问访问权限修饰符 限制代码调用的区域包含公共的public和私有的private以及受保护的和缺省不写public 公共的 整个项目下都可以访问修饰 类 属性 方法修饰类的时候这个类的类名必须与所在文件名一致 且一个文件中只能包含一个public的类-主类private私有的 只能在本类中访问修饰属性 方法**protected**受保护的 只能在同包下不同包的子类中也可以访问修饰 属性 方法缺省不写 类默认的 只能在同包下修饰 类 属性 方法封受限制的修饰符修饰属性 方法等使其不能被对象直接调用为什么要限制属性对于数据的要求 通常比数据类型要求更具体装自己设计一组不受限制的方法通过参数 返回值对于数据别的方法进行访问操作设置一组set/get方法 用于对属性赋值 和 获取属性的值构造方法创建对象时需要调用的方法 执行于对象初始化时格式 没有返回值结构方法名为类名的方法public 类名(){ }每个类都默认有一个空参数的隐藏构造方法一旦主动写了构造方法隐式就会覆盖通常我们通过构造方法的参数进行初始化操作publicclassUser{privateStringname;// 必须6个字符以上privateStringpwd;// 必须包含字符以及数字privateStringemail;// 必须包含合法的域名和符号privateintage;// 0-150// 构造方法publicUser(Stringname,Stringpwd,Stringemail,intage){this.namename;this.pwdpwd;this.emailemail;this.setAge(age);}publicUser(){}publicUser(Stringname,Stringpwd){this.namename;this.pwdpwd;}publicintgetAge(){returnage;}publicvoidsetAge(intage1){// 将数据存入参数中在方法中对参数进行验证后 再赋给属性if(age10||age1150){System.out.println(年龄不合法~);return;}this.ageage1;}publicvoidshowInfo(){System.out.println(name:this.name pwd:this.pwd email:this.email age:this.age);}}classStudent{base08.v2}classTeacher{}classMain{publicstaticvoidmain(String[]args){UserusernewUser(hello,123456,hellohello.com,18);// user.email hello;// user.age-100;user.setAge(-100);intauser.getAge();System.out.println(a);user.showInfo();Useruser1newUser();Useruser2newUser(admin,123456);user2.showInfo();user1.showInfo();}}总结代码格式更加规范 可读性更好数据的安全性更好读写分离