1.构造方法
含义:与类名相同,且没有返回项的方法
作用:
1.和new关键字一起是创建对象:比如Person p = new Person()
2.初始化数据: Person p = new Person("张三", '男', 23);
注意:
1.创建对象的过程称之为实例化
2.一般系统会默认实现无参构造,但是如果类中有 有参构造,系统不会默认实现无参构造(经验:如果写了有参构造,自己把无参构造给加上)
3.构造方法有重载关系(重载:方法与方法之间的关系)
//无参构造 public Person(){} //有参构造 public Person(String name,char sex,int age){ this.name = name; this.sex = sex; this.age = age; }
//作用1.无参构造和new关键字一起是创建对象: Person p = new Person() //作用:2.有参构造初始化数据: Person p = new Person("毕冬亮", '男', 23);
2.private - 私有化
1、修饰属性:该属性不能让外界访问
2、修饰方法:该方法不能让外业访问
//1、修饰属性:该属性不能让外界访问 private String str; //2、修饰方法:该方法不能让外业访问 private void method01(){ System.out.println("method01"); } //写个 公有的方法,在公有的方法里面去得到这个对象里面 私有的属性和调用 私有的方法 public void method02(){ //设置 对象里私有的成员属性 this.str = "xxx"; //获取 对象里私有的成员属性 System.out.println(str); //调用对象私有的成员 方法 this.method01();
3.this - 本对象
注意:this只能在构造方法和成员方法中使用,表示调用该方法的对象 作用:
1.this.属性:在方法中调用本对象的成员属性
2.this.方法:在方法中调用本对象的成员方法
3.this():在构造方法中的第一句,调用另一个构造方法
//作用1.this.属性:在方法中调用本对象的成员属性 public void eat(){ //调用本对象的成员属性 System.out.println(this.name + "吃饭饭"); } //作用2.this.方法:在方法中调用本对象的成员方法 public void method02(){ //调用本对象的成员方法 this.method01(); } //作用3.this():在构造方法中的第一句,调用另一个构造方法 //无参构造 public Person(){ //在构造方法的第一句,调用另一个构造方法 //在无参构造方法里面,调用有参构造方法 this("毕冬亮", '男', 23); } //有参构造 public Person(String name,char sex,int age){ this.name = name; this.sex = sex; this.age = age; }
4.封装 -- set、get方法
含义: 私有化属性,再添加get/set方法,让属性不直接暴露在外界,通过get/set去获取和设置
步骤:
1.私有化属性(目的:让外界不能直接调用属性) 2.添加该属性的get-获取/set-设置的方法(目的:外界是通过set、get方法去操作属性)
好处:
get/set除了去获取/设置属性以外,还可以做额外的一些功能,比如记录日志
经验:属性基本上都需要封装
步骤1.私有化属性(目的:让外界不能直接调用属性) private String username; private String password; private double money; 步骤2.添加该属性的get-获取/set-设置的方法(目的:外界是通过set、get方法去操作属性) public void setMoney(double money){//money - 1800 //记录日志 System.out.println(this.username + "用户在" + LocalDateTime.now() + "时间去操作了金额:" + (money - this.money)); this.money = money; } public double getMoney(){ return money; }
//运用 get 方法, set 方法: User user = new User("1445584980", "123123", 2000); // user.money = user.money-200; // System.out.println(user.money);//1800 user.setMoney(user.getMoney()-200); System.out.println(user.getMoney());//1800
5.分包
分包的基本概念:防止类的重名
项目中运用分包:项目中会由很多类,类与类的功能有相同的也有不同的,所以要分包归类管理
项目中的命名规范:com.公司名.项目名.功能名(具体参照公司的命名规范)
ps:
实体类 com.qf.vo/bean/entity
工具类 com.dream.utils/tools
数据库 com.dram.dao/mapper
....