Day9:构造方法,字符串

this关键词

  1. this修饰的变量用于指代成员变量

    方法的形参如果与成员变量名同名,不带this修饰的变量指的是形参,而不是成员变量

    方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量

  2. 什么时候使用this呢?解决 局部变量隐藏成员变量

     

  3. this:代表所在类的对象引用

    记住:方法被哪个对象调用,this就代表哪个对象

Day9:构造方法,字符串

this内存原理

 

Day9:构造方法,字符串

 

封装

1.封装概述

封装是面向对象的三大特征之一(封装,继承,多态)

是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操的

2.封装原则

将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问

成员变量private,提供对应的getXxx()/setXxx()方法

3.封装好处

通过方法来控制成员变量的操作,提高了代码的安全性

把代码用方法进行封装,提高了代码的复用性

 

 

构造方法

构造方法概述

构造方法是一种特殊的方法 《构造方法是一个方法》

作用:创建对象

格式:

public class 类名{

修饰符 类名(参数){

}

}

功能:主要是完成对象数据的初始化

 

Day9:构造方法,字符串

 

 

 

Day9:构造方法,字符串

 

Day9:构造方法,字符串

构造方法的注意事项

1.构造方法的创建

如果没有定义构造方法,系统将给出一个 默认 的 无参照构造方法

如果定义了构造方法,系统将不再提供默认的构造方法

2.构造方法的重载

如果自定义了带参构造方法,还要使用无参数构造方法,就必须再写一个无参构造方法

3.推荐的使用方式

无论是否使用,都手工书写无参数构造方法

 

标准类制作

1.成员变量

使用private

2.构造方法

提供一个无参构造方法

提供一个带多个参数的构造方法

3.成员方法

提供每一个成员变量对应的setXxx()/getXxx()

提供一个显示对象信息的show()

4.创建对象并为其成员赋值的两种方式

无参构造方法创建后使用setXxx()赋值

使用带参构造方法直接创建带有属性值的对象

 

 

Day9:构造方法,字符串

Day9:构造方法,字符串

 

 

字符串

API

API(Application Programming Interface):应用程序编程接口

JAVA API:指的就是 JDK 中提供的各种功能的JAVA的类

这些类将底层的实现封装起来,我们不需要关心这些类是如何实现的,

只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用

 

需求:按照帮助文档的使用步骤学习Scanner 类的使用,并实现键盘录入一个字符串,最后输出在控制台

Day9:构造方法,字符串

 

注意:

调用方法的时候,如果方法有明确的返回值,我们用变量接收

可以手动完成,也可以使用快捷键的方式完成(Ctrl+Alt+V)

 

String

String概述

String类在java.lang包下,所以使用的时候不需要导包

 

String类代表字符串,JAVA程序中所有的字符串文字(例如:"abc")都被实现为此例的实例

也就是说,JAVA程序中所有的双引号字符串,都是String类的对象

 

字符串的特点:

字符串不可变,他们的值在创建后不能被改变

虽然String的值是不可变的,但它们可以被共享

字符串效果上相当于字符数组(char[]),但是底层原理是字节数组(byte[])

 

String 构造方法

 

Day9:构造方法,字符串

 

Day9:构造方法,字符串

String对象的特点

1.通过 new 创建的字符串对象,每一次new 都会申请一个内存空间,虽然内容相同,但是地址不同

2.以 "" 方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,

JVM都只会建立一个String对象,并在字符串池中维护

3.在内存中的过程

 

Day9:构造方法,字符串

字符串的比较

使用 == 作比较

基本类型:比较的是数据值是否相等

引用类型:比较的是地址值是否相等

字符串是对象,他比较内容是否相同,是通过一个方法来实现的,这个方法叫:equals()

public boolean equals( Object anObject): 将此字符串与指定对象进行比较。由于我们比较的是字符串对象,所以参数直接传递一个字符串

 

案例

需求:已知用户名和密码,请用程序实现模拟用户登录。总共给三次机会,登录之后,给出相应的提示

 

Day9:构造方法,字符串

需求:键盘录入一个字符串,使用程序实现在控制台遍历该字符串

 

Day9:构造方法,字符串

需求:键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数(不考虑其他字符)

 

Day9:构造方法,字符串

 

需求:定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,

并在控制台输出结果。例如,数组int[] arr ={1,2,3};执行方法后输出的结果为:[1,2,3]

Day9:构造方法,字符串

 

上一篇:java_ day9


下一篇:day9学习日记