发表于: 2017-04-14 07:52:26

2 1413


总结下这几天学习的内容:

面向对象

面向对象是基于面向过程的编程思想.

面向过程:强调的是每一个功能的步骤

面向对象:强调的是对象,然后由对象去调用功能


类:是一组相关的属性和行为的集合

对象:是该类事物的具体体现

定义类其实就是定义类的成员(成员变量和成员方法)

成员变量:和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。

成员方法:和以前定义方法是一样的,只不过把static去掉

类名对象名 = new 类名();

使用对象访问类中的成员:

对象名.成员变量

对象名.成员方法


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

1,在类中的位置不同

成员变量在类中,方法外

局部变量在方法中或者方法声明上(形式参数)

2,在内存中位置不同

成员变量 在堆区

局部变量 在栈区

3,生命周期不同

成员变量:随着对象的创建而存在,随着对象的消失而消失

局部变量:随着方法调用而存在,随着方法的调用完毕而消失

4,初始值不同

成员变量 有默认值

局部变量 没默认值,必须先定义,赋值,最后使用、


封装

private 关键字是一个权限修饰符,可以修饰成员和成员方法,被private 修饰的成员只在本类中才能访问

private提供了对应的

设置方法:setxxx

访问方法:getxxx

封装原则 

将不需要对外提供的内容都隐藏起来,提供公共方法对其访问


this

代表所在类的对象引用

方法被那个对象调用,this就代表那个对象

this关键字的使用

局部变量隐藏成员变量(局部变量和成员变量重名)


构造方法

给对象的数据初始化    格式:方法名与类名相同

没有返回值类型,连void都没有 没有具体的返回值

修饰符 构造方法名 (参数列表){}

注意事项

如果不提供构造方法,系统会给出默认构造方法

如果你提供了构造方法,系统将不再提供

构造方法可以重载




String类

字符串是由多个字符组成的一串数据

字符串可以看出是字符数组

构造方法

String类 构造方法

把字符串数据封装成字符对象

String s1 = new String("hello");

System.out.println("s1:"+s1);

把字符数组的数据封装成字符对象

char []chs = {'h','e','l','l','o'};

String s2 = new String(chs);

System.out.println("s2:"+s2);


把字符数组中的一部分数据封装成字符串对象

String s3 = new String(chs,1,4);

System.out.println("s3:"+s3);


把字符串直接赋值给字符对象

String s4 = "hello";

System.out.println("s4:"+s4);


String的特点:

String s1 = new String("abc");

String s2 = "abc";

1,S1首先查看字符串 abc 是否存在字符串常量池中,如果存在则直接指向,不存在,则创建一个

2,S2 查看常量池中 abc 是否存在,结果已经存在了,就直接指向引用了

区别

前者s1 创建了两个对象 堆内存中的new String 和 字符串常量区的 abc

s2只创建了一个对象 abc 如果存在 abc 那就一个对象也没创建

同时 String s = "abc";

字符串 abc作为一个对象也可以调用String类的方法


常用方法

判断功能方法

boolean equals 比较字符串内容是否相同

boolean equalslgnoreCase 比较字符串内容是否相同,忽略大小写

boolean startsWith:判断字符串对象是否以指定的str开头

boolean endsWith:判断字符串对象是否以指定的str结尾

获取功能方法

int length():获取字符串的长度,其实也就是字符个数

char charAt(int index):获取指定索引处的字符

int indexOf(String str):获取str在字符串对象中第一次出现的索引,没有返回-1

String substring(int start):从start开始截取字符串到字符串结尾

String substring(int start,int end):从start开始,到end结束截取字符串;包括start


字符串的遍历

统计字符串中大写、小写及数字字符个数

转换功能方法

char[] toCharArray():把字符串转换为字符数组

String toLowerCase():把字符串转换为小写字符串

String toUpperCase():把字符串转换为大写字符串

键盘录入一个字符串,把该字符串的首字母转成大写,其余为小写。

去除空格和分割功能方法

String trim()去除字符串两端空格

String[] split(String str)按照指定符号分割字符串

把数组中的数据按照指定格式拼接成一个字符串

举例:int[] arr = {1,2,3}; 输出结果:[1, 2, 3]

类名作为形式参数案例:需要的其实是该类的对象

class Test {

public void show(Person p){

p.eat();

类名作为返回值案例:返回的其实是该类的对象

class Test {

public Person show(){

Person p = new Person("小王");

return p;

}

StringBuilder和String区别?

String的内容是固定的

StringBuilder的内容是可以改变的


明天计划:学习集合


 遇到的问题:感觉时间不够用这几天学面向对象,String类方法 学的特别慢,消化的也很慢 


收获:

能够理解面向对象的思想,明确类与对象关系

根据类的定义定义学生类

能够创建对象,并且使用对象访问类中的成员

能够说出成员变量和局部变量的区别,运用private关键字

能够用封装的思想定义一个标准类,说出this可以解决的问题

能够运用构造方法创建对象



返回列表 返回列表
评论

    分享到