构造方法、private - 私有化、this - 本对象、封装 -set、get方法、分包

 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

....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值