day04 复习JAVA第四天 (面向对象思想)

一. 面向对象思想

1.1 面向对象和面向过程思想

面向对象是基于面向过程的,是从面向过程思想演化过来的。
面向过程思想: 在完成功能的时候,里面的每一个细节,每一个步骤都需要我们自己去亲力亲为。注重的是实现细节。
			 里面的每一个操作都需要我们自己去做。
面向对象思想: 在完成功能的时候,我们只需要关注结果, 不需要关注里面的实现细节,里面的实现细节是由别人帮			  助我们去实现的, 我们只管享受结果就可以了。

1.2 面向对象思想的好处

1. 更加符合人类思考的习惯。
2. 从执行者变成了指挥者。
3. 可以把复杂的事情简单化

1.3 面向对象思想举例

买电脑:
	面向过程:明确买电脑的意义 -> 上网查询数据 -> 坐上2路公交 —> 来到中关村 -> 讨价还价 -> 喜提电脑
	面向对象:找到班长 -> 让班长去买电脑 -> 交给我们
洗衣服:
	面向过程:脱衣服 -> 找个盆儿-> 放点水 -> 泡一泡 -> 揉一揉 -> 搓一搓 -> 拧一拧 -> 凉一凉 -> 收衣服
	面向对象:脱衣服 -> 命令你的女朋友去洗衣服 -> 收起来
	

1.4 类和对象

类: 对一类事物的描述,是抽象的 比如: 学生,人
对象: 类的具体体现, 是具体存在的。 比如:班长

1.5 类的定义和使用

类的定义格式:
    public class 类名 {
        成员变量;
        成员方法;
    }
注意:
	在类中, 属性可以使用成员变量去表示。
    	成员变量指的是定义在类中,方法外的变量。
	在类中, 行为可以使用成员方法去表示。
    	就是普通的方法,只不过现在要去掉static关键字。
    	描述现实生活中事物的类, 里面的方法要去掉static。
使用类创建对象:
	1. 导包
            a. 如果某个类在java.lang包下,是不用导包的。
            b. 如果两个类在同一个包下,使用的时候是不需要导包的。
    2. 创建对象
            数据类型 对象名 = new 数据类型();
    3. 使用方法或者属性。
            对象名.属性名
            对象名.方法名();

1.6 成员变量和局部变量的区别

1. 定义位置不同 (重要)
	成员变量: 定义在类中,方法外。
	局部变量: 定义在方法内。
2. 使用范围不同(重要)
	成员变量: 在整个类中都可以使用。
	局部变量: 只能在当前方法中使用。
3. 默认值不同(重要)
	成员变量: 有默认值。 默认值和数组元素的默认值一致。
	局部变量: 没有默认值的, 在使用前必须要赋值。
4. 内存位置不同(了解)
	成员变量: 跟随对象保存在堆内存中。
	局部变量: 跟随方法保存在栈内存中。
5. 生命周期不同(了解)
	成员变量: 在对象创建的时候产生, 在对象消失的时候消失。
	局部变量: 随着方法调用而产生, 随着方法结束而消失。
			 更准确来说,局部变量离开自己的作用范围就会消失

二. 封装

2.1 封装的概念

隐藏具体的实现细节,并且提供对外的公共访问方式。

2.2 封装的原则

把属性隐藏起来,并且提供公共的对外访问方式。
把属性使用private私有, 并提供getXXX和setXXX让外界去间接访问。

2.3 private

1. 是一个权限修饰符, 地位和public一样。
2. private表示私有, 被private修饰的成员只能在本类中使用。
3. private可以修饰成员变量和成员方法及。

2.4 构造方法

作用: 用来在创建对象的时候,给对象的属性进行赋值操作

格式:
    public 构造方法名(参数列表) {
        构造方法体;
    }

    1. 构造方法不需要写返回值类型, 连void都不能有
    2. 构造方法名必须要和类名一致。
    3. 构造方法没有返回值,不能在构造方法中返回任何结果

构造方法在创建对象的时候自动执行。
创建对象时, new 数据类型() 执行该操作的时候就会调用对应的构造方法。

注意:
    1. 如果在一个类中我们没有提供构造方法,那么系统会自动提供一个空参数的构造方法。
    2. 如果我们在一个类中提供了构造方法,那么系统就不会帮我们提供空参数构造方法了。
    3. 构造方法也是支持重载的。

#三. String

3.1 构造方法

public String(): 空参数的构造方法, 使用该构造方法创建出来的字符串里面没有任何内容。
public String(char[] value): 参数要传递一个字符数组, 可以根据字符数组的内容创建一个字符串对象。
public String(byte[] bytes): 参数要传递一个byte数组, 可以根据byte数组的内容创建一个字符串对象。

3.2 判断方法

public boolean equals (Object anObject): 用来比较两个字符串的内容是否相同。 参数要传递一个字		  符串 方法参数是Object,那么可以传递任意类型的参数。也包括字符串。
public boolean equalsIgnoreCase (String anotherString): 比较两个字符串的内容是否相同, 不区分大小写

3.3 获取方法

public int length (): 获取字符串的长度。 字符串中有几个内容,那么长度就是几。返回值为字符串的长度。
public String concat (String str): 将参数str字符串拼接到调用者字符串的后面, 并且返回拼接后的新字符					串。
public char charAt (int index): 获取字符串中指定索引位置的字符并返回。
public int indexOf (String str): 查找指定参数字符串第一次出现的位置并返回。 如果该字符串不存在,那么返								回-1.
public String substring (int beginIndex): 对字符串进行截取, 从beginIndex位置开始,一直到最末尾, 										并且会返回截取后新的字符串。
public String substring (int beginIndex, int endIndex): 对字符串进行截取。beginIndex表示从该位置开							始截取。 endIndex,表示截取到该位置。包括beginIndex,但是不包括								   endIndex。方法的返回值是截取后的新的字符串。

3.4 转换功能

public char[] toCharArray (): 将字符串转成一个字符数组。
public byte[] getBytes (): 将字符串转成一个字节数组(byte[])
public String replace (String oldStr, String newStr): 使用newStr替换掉所有的oldStr。返回值为替换后					新的字符串

3.5切割功能

public String[] split(String regex): 可以根据指定的字符进行切割。 返回的结果是一个字符串数组
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试
应支付0元
点击重新获取
扫码支付

支付成功即可阅读