封装的总结及案例&&包的初识:
一.认识修饰符:
①public 公共的:最大访问级别。
②private 私有的:最小访问级别。
③default 系统默认值:包级私有访问级别。
④protected 受保护的:同类,同包,子类。
二.封装的概念和原则:
概念:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
原则:把所有的属性藏起来。
三.封装的好处:
①便于使用者正确使用系统,防治错误修改属性。
②有助于系统之间的松耦合,提高系统独立性。
③提高代码的可重用性。
四.封装范式:
属性封装:private 属性类型 属性名称;
方法封装:private 方法返回值 方法名称(参数列表){}
(说明:
①面向对象的封装性本身并不是单单指private关键字;
②封装后的属性必须通过setter和getter进行访问。
)
五.get和set方法的使用:
①在创建对象过程中,我们常用private修饰,并且使用get与set方法对属性进行访问与修改。
②get/set+属性名(小驼峰命名法)。
③通过公共方法,简介操作类中的属性。
④扩展:被private修饰的属性,不能在外部访问与修改,这句话是错的,后期学习的反射可以。
⑤boolean类型的属性,用get与is方法。
六.案列:
package packageing;
public class Student {
private String name;//属性封装
private int age;
public String getName() {//get方法获取
return name;
}
public void setName(String name) {//修改,添加判断条件
if(name.length()>0||name.length()<50){
this.name=name;
}else{
System.out.println("输入姓名格式有误!!!");
}
}
public int getAge() {//get方法获取
return age;
}
public void setAge(int age) {//修改,添加判断条件
if(age>=0&&age<=150){
this.age = age;
}else {
System.out.println("输入的年龄不符合规范!!");
}
}
public void StudentMessage(){//普通方法
System.out.println("学生姓名为:"+this.name+"学生年龄为:"+age);
}
}
====================测试类======================================
package packageing;
import java.util.Scanner;
public class StudentText {
public static void main(String[] args) {
Student s = new Student();
Scanner s1 = new Scanner( System.in );
System.out.println("请输入学生姓名:");
String s2 = s1.next();
System.out.println("请输入学生年龄:");
int age = s1.nextInt();
s.setAge( age );//调用set方法传参
s.setName( s2 );
s.StudentMessage();
}
}
七.包package:
包名:
①包名由小写字母组成,不能以圆点开头或结尾。
②通常使用组织倒置的网络域名。
③包名后续部分以不同机构内部的规范不同而不同。
④包名中以.为分割,创建子包或父包。
⑤完全限定名:完全包名+类名(以.为分割符)。
**⑥**包名+类名 可以锁定唯一类。
导包:
import 包名.类名