JavaDay12_封装_构造_String类

12 篇文章 0 订阅
12 篇文章 0 订阅

封装、构造、String类

封装

封装的概述

封装是面向对想的三大特征之一(封装.多态.继承)
封装的原则
将类中的某些信息隐藏在类的内部, 不允许外部直接访问,而是通过当前类对外提供的公共访问方式(方法)对隐藏起来的信息进行操作.
封装的好处
通过方法来控制成员变量的操作, 提高代码的安全性
将代码进行封装, 提高了代码的复用性

封装的实现

将成员变量使用private修饰
对外提供公共的访问方式 — 修改/获取(Set/get)
private关键字的作用

  • private可以用来修饰成员变量和成员方法等
  • 如果使用private修饰, 那么被修饰的内容只能在本类中被使用
    this关键字
    当局部变量名与成员变量名相同时
  • 用this关键字来区分成员变量和局部变量的问题
  • 代表本类对象, 谁来调用我(this所在的方法), 我就代表谁!

构造方法

格式

无参构造
修饰符 void 类名() {
}
有参构造
修饰符 void 类名(参数类表) {
	方法体
}

 - 构造方法也体现了方法的重载

构造方法的作用

  1. 创建对象
  2. 给类进行初始化
  3. (注意) 当没有写构造方法是java会提供一个无参构造方法,只不过没有显示出来,如果写了构造方法java就不会再提供

标准类

 1. private修饰的成员变量
 2. 提供有参无参的构造方法
 3. 提供成员变量的get/set方法
 4. 其他方法根据需求
 public class Student {
    // 私有的成员变量
    private String name;
    private int age;

    // 无参构造(必须)
    public Student() {
    }

    // 有参构造(建议), 所有成员变量都作为参数的也叫做满参构造/全参构造
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // getXxx()
    // setXxx()
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

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

    // 其他成员方法
}


String类

  • ava 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现.
  • 程序中只要是双引号括起来的字符串, 都可以作为String类的对象(对象能调用方法)
  • 字符串是常量, 它们的值在创建之后不能更改
  • 虽然String字符串的值不能更改, 但是它们是可以共享的!!!

String类的构造方法

描述构造作用
没用的public String()创建字符串对象, 表示的是空字符序列("")
public String(String s)创建字符串对象, 表示的是与参数相同的字符序列
有用的public String(char[] chs)创建字符串对象, 表示与字符数组同样的字符序列
public String(byte[] bys)创建字符串对象, 表示的是将字节数组中的数字按
照码表转换成对应的字符, 然后拼接起来.
  • 通过直接赋值的方式创建字符串, 指向字符串常量池中的地址
  • 通过构造方法的方式创建字符串, 指向的是堆内存中的地址

直接赋值和构造方法赋值的区别在哪?

  • 一个指向常量池
  • 一个指向堆内存
  • 它们的地址值不同
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值