一、小总结
利用类来描述现实生活中的事情
利用对象去具体的执行操作
类的内部成员
1、方法--动态描述类的行为(做事情)
权限修饰符 [特征修饰符] 返回值类型 方法名字 ([参数列表]) [抛出异常] [{方法体}]
最主要的是方法设计的参数及返回值问题 传递 调用 执行 内存
2、属性--静态描述类的特征(变量 存值)
权限修饰符 [特征修饰符] 属性类型 属性名字 [=值]
3、构造方法--用来创建当前类的对象
权限修饰符 与类型相同的方法名 ([参数列表]) ([抛出异常]) {方法体}
4、程序块(代码块)--理解为就是一个方法(非常特殊 无修饰符、无参数、无返回值、无名字)
{方法体}
二、类中的第三个成员
构造方法---做事情
1、作用:只有一个构建(构造)当前类的对象
2、写法:权限修饰符 与类名一致的方法名 (参数列表)[抛出异常]{
一件事情 创建一个对象(当前类Person)
返回对象;
}
3、用法:通过new关键字调用
4、特点:
(1)每一个类都有构造方法,若自己在类中没有定义,系统会默认提供一个无参的构造方法;若在类中自己定义了构造方法,则默认无参数的构造方法既被覆盖。
(2)构造方法是否存在方法重载?--------存在构造方法重载
5、每一个类都有构造方法,若不定义,系统会默认提供构造方法
请考虑,为什么定义构造方法?什么时候需要设计构造方法?
答:在创建对象的同时,想要一并做一些事情,默认提供的构造方法是不会做的,这个时候我们可以自己定义构造方法(无参数的构造方法内做事也可以定义带参数的)
三、类的第四个成员----程序块(代码块)
1、作用:跟普通方法一样(做事情)
2、写法:可以认为程序块是一个 没有修饰符、没有参数、没有返回值、没有名字的特殊方法。
{内容}
3、用法:块也需要调用才能执行,而我们自己调不到(没有名字),每一次我们调用构造方法之前,系统会帮我们自动的调用一次程序块,让它执行一遍。
4、特点:没有什么重载概念,但是可以在类中定义多个程序块。
5、块可以在里面写一些程序,我想要在创建对象之前执行
构造方法中,属性与变量重名,必须需要一个代替词,代替对象------this关键词
(一)this关键词的使用
(1)是一个关键字(指代词),代替的是某一个对象(当前调用属性或方法时的那个对象)
(2)this既然代替的是一个对象
this可以调用什么?---属性、方法
this可以调用构造方法吗?----可以,在一个构造方法内可以调用另一个构造方法
通过this();省略了构造方法的名字(必须与类名一致)
必须在另一个构造方法内调用 必须在程序的第一行
构造方法与一般方法之间,有顺序的,认为构造方法早于一般方法
在一般方法内调用构造方法呢?---不行
构造方法可以重载,构造方法调用另一个构造方法呢?----可以
(3)this调用的过程可以放置在哪个位置写?
调用属性或方法,这一行代码,可以放置在类中的任何成员位置,上下顺序随意