当前位置:   article > 正文

Java_从入门到JavaEE_09

Java_从入门到JavaEE_09

一、构造方法/构造器

  1. 含义:和new一起是创建对象的功能

  2. 特点:

    1. 与类名相同的方法
    2. 没有返回项
  3. 注意:

    1. 当类中没有写构造方法时,系统会默认添加无参构造(无参数的构造方法)
    2. 构造方法可以重载的

    有参构造好处:创建对象时,把数据赋值给该对象

    经验:写了有参构造,自己把无参构造写上

  4. 底层逻辑:

    在这里插入图片描述

public class Person{
 //注意:这种不是构造方法,是成员方法
 public void Person(){}
}
  • 1
  • 2
  • 3
  • 4

二、this

  1. 含义:this表示调用该方法的对象
  2. 作用:
  3. this.属性:调用本对象的成员属性
  4. this.方法:调用本对象的成员方法
  5. this():在构造方法的第一句调用另外一个构造方法

三、private

  1. 理解:private是访问修饰符的一种,表示私有

  2. 扩展:访问修饰符可以修饰属性和方法

  3. 作用:

    1. 修饰属性:该属性不能在类的外面使用
    2. 修饰方法:该方法不能在类的外面使用
  4. 应用场景:

    1. 不想让外界直接调用的属性就使用private修饰
    2. 不想让外界直接调用的方法就使用private修饰

四、封装

  1. 知识点:封装

  2. 概念:将属性封装到对象的内部,通过get/set方法去操作属性

  3. 步骤:

    1. 私有化属性
    2. .添加get(获取)/set(设置)方法
  4. 好处:

    1. 将属性封装到对象的内部,外界不能直接操作属性
    2. 必须通过get/set方法去操作属性
    3. 可以在get/set方法中做额外的功能
  5. 经验:属性都必须封装

  6. 案例:模拟银行用户操作金额的过程

    分析:怎么操作金额?

    1. 设置金额
    2. 获取金额
public class Test {
	public static void main(String[] args) {	
		User user = new User("1445584980", "123123", 2000);		
		user.setMoney(user.getMoney() - 200);
		System.out.println(user.getMoney());
	}
}
import java.time.LocalDateTime;
public class User {
	private String username;
	private String password;
	private double money;	
	public User() {
	}
	public User(String username, String password, double money) {
		this.username = username;
		this.password = password;
		this.money = money;
	}	
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public void setMoney(double money){
		//额外的功能
		double num = money - this.money;
		System.out.println(LocalDateTime.now() + "设置了金额:" + num);		
		this.money = money;
	}	
	public double getMoney(){
		return this.money;
	}
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

经验:操作属性 --> 设置和获取

五、分包

  1. 理解:最基本的功能就是防止类的重名

  2. 项目中的功能:做类的分类(一个项目有成千上万的类,需要分包做管理)

    com.lv.utils/tools – 工具类的包

    com.lv.pojo/entity/vo – 实体类的包

    com.lv.map/mapper – 操作数据库类的包

    com.lv.biz/service – 操作业务类的包

  3. 命名规范:网络倒序

    com/net/cn.公司名.项目名/功能名

六、static

​ 理解:静态的
​ 作用:

​ 1.静态属性

​ 2.静态方法

​ 3.静态代码块

  1. static修饰属性

    类加载到方法区时,JVM会扫描该类的所有属性

    并把静态属性加载到静态区中,静态属性属于类属性,

    该类所有的对象都共享该属性

    静态属性直到项目结束时才会被回收

    注意:静态属性使用类名调用

    应用场景:该类每个对象共享的属性就用static修饰

    底层逻辑:

    在这里插入图片描述

  2. 修饰方法

    属于类方法,直接用类名调用

    应用场景:工具类

  3. 静态代码块

    静态代码块是类加载到方法区时才会被调用,该代码块只能初始化静态变量

    代码块是创建对象时优先于构造方法调用,该代码块可以初始化成员变量和静态变量

    构造方法是创建对象时调用,该方法可以初始化成员变量和静态变量

  4. 成员变量与静态变量的区别

    成员变量:属于对象的变量,每个对象独享一份

    静态变量:属于类的变量,每个对象都共享一份

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/549356
推荐阅读
相关标签
  

闽ICP备14008679号