概述
第一章 面向对象思想
概述
面向过程:每一个步骤都要亲力亲为,详细处理每一个细节。(自己洗衣服)
面向对象:通过调动对象的行为实现功能。(全自动洗衣机)三大基本特征:封装、继承和多态
类与对象
- 类:属性(成员变量)+行为(成员方法),是抽象的
- 对象:类的实例,是具体的
- 类是对象的模板,对象是类的实例。
类的定义
package cn.itcast.day06.demo01;
public class Student {
//成员变量
String name;
int age;
//成员方法
//吃饭
public void eat(){
}
//学习
public void study(){
}
//睡觉
public void sleep(){
}
}
- 成员变量定义在类中,在成员方法的外边。
- 类中的成员方法没有
static
修饰符。
对象的使用
通常一个类并不直接使用,需要创建一个类的对象,才能使用
- 导包:指出要使用的类在什么位置
- import 包名称.类名称
- 若与当前类在同一个包中,则可以省略导包语句不写
- 创建:格式
类名称 对象名 = new 类名称(); - 使用:两种情况
- 使用成员变量:对象名.成员变量名
- 使用成员方法:对象名.成员方法名(参数)
若成员变量没有赋值,将会有一个默认值,规则和数组一样。
对象内存图
类作为参数或返回值
- 类作为参数,传递的是地址值。
2. 类作为返回值,返回的也是地址值。
成员变量和局部变量
- 定义的位置不同
成员变量:在类里,在成员方法外
局部变量:在方法内部 - 作用点的范围不同
成员变量:在整个类中都可以使用
局部变量:只能在方法中使用 - 默认值不同
成员变量:无需赋值就可以使用,有默认值。
局部变量:必须自己赋值以后才能使用。 - 内存中的位置不同
成员变量:在堆中
局部变量:在栈中 - 生命周期不同
成员变量:随着对象的创建而诞生,随着对象被垃圾回收而消失。
局部变量:随着方法进栈诞生,随着方法出栈消失。
方法中的参数时局部变量,在调用时必然会被赋值。
第二章 封装
封装:将一些细节信息隐藏起来,对于外界不可见。
封装性的体现
- 方法就是一种封装
- 关键字private也是一种封装
- 一旦使用private进行修饰,那么本类中仍然可以随意访问。但是!超出本类就不能直接访问。
- private修饰成员变量要定义setXxxx方法和getXxxx方法进行限制修改和访问
- boolean类型成员变量的getXxx方法写成isXxx。
this关键字
- 当成员变量和参数名相同时,根据“就近原则”,会优先使用参数。要想使用成员变量的话,就需要使用this关键字。
- 通过谁调用的方法,谁就是this。(一般就是实例化对象的地址值)
第三章 构造方法
构造方法是专门创建对象的方法,当我们通过关键字new创建对象的时候,其实就是调用构造方法。
public 类名称(参数类型 参数名称){
方法体;
}
注意事项:
- 构造方法的名称要与类名称完全一样,包括大小写
- 构造方法没有返回值类型和返回值
- 如果没有编写任何构造方法,编译器会默认编写一个没有参数和方法体的构造方法。
- 一旦编写了构造方法,编译器则不再默认编写构造方法。
- 构造方法也可以进行重载。
综合练习
标准的类(Java Bean)要求
- 所有的成员变量都使用private修饰
- 为每一个成员变量编写一对Getter、Setter方法
- 编写一个无参构造方法
- 编写一个全参数的构造方法
最后
以上就是仁爱酒窝为你收集整理的Day6-类与对象、封装、构造方法的全部内容,希望文章能够帮你解决Day6-类与对象、封装、构造方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复