《JAVA-面向对象》

《JAVA-面向对象》

01.面向对象介绍

02.类和对象介绍

03.封装

  1. 什么是封装?
    • 告诉我们,如何正确设计对象的属性和方法。
    • 原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为。
  2. 理解封装思想的好处?
    • 让编程变得很简单,有什么事,找对象,调方法就行。
    • 降低我们的学习成本,可以少学、少记,或者说压根不用学,不用记对象有哪些方法,有需要时去找就行。
  3. private关键字是一个权限修饰符;
  4. 可以修饰成员(成员变量和成员方法);
  5. 被private修饰的成员只能在本类中才能访问;
  6. 针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作;
  7. 提供“setXxx(参数)”方法,用于给成员变量赋值,方法用public修饰;
  8. 提供“getXxx()”方法,用于获取成员变量的值,方法用public修饰;

04.就近原则和this关键字

  1. 就近原则
    • System.out.println(age);
    • System.out.println(this.age);
  2. this的作用?
    • 可以区别成员变量和局部变量
  3. this的本质和内存图
    • 今天的扩展内容会详细讲解

05.构造方法

  1. 构造方法的作用?
    • 创造对象的时候,由虚拟机自动调用,给成员变量进行初始化的。
  2. 构造方法有几种,各自的作用是什么?
    • 无参数构造方法:初始化的对象时,成员变量的数据均采用默认值。
    • 有参数构造方法:在初始化对象的时候,同时可以为对象进行赋值。
  3. 构造方法有哪些注意事项?
    • 任何类定义出来,默认就自带了无参数构造器,写不写都有。
    • 一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写无参数构造器了。

06.标准的javabean类

  1. 标准的JavaBean类
    • 类名需要见名知意
    • 成员变量使用private修饰
    • 提供至少两个构造方法
      • 无参构造方法
      • 带全部参数的构造方法
    • 成员方法
      • 提供每一个成员变量对应的setXxx()/getXxx()如果还有其他行为,也需要写上
public class test13 {
    //1.成员变量
    private String username;
    private String password;
    private String email;
    private String gender;
    private int age;
    
    //2.无参构造器
    public test13() {
    }
    //3.有参构造器
    public test13(String username, String password, String email, String gender, int age) {
        this.username = username;
        this.password = password;
        this.email = email;
        this.gender = gender;
        this.age = age;
    }
    
    //4.成员变量的get和set方法
    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 String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

07.三种情况的对象内存图

  • 一个对象的内存图
    1. 加载Class文件;
    2. 申明局部变量;
    3. 默认初始化;
    4. 显示初始化;
    5. 构造方法初始化;
    6. 将堆内存中的地址赋值给左边的局部变量;
      在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值