类和对象
面向对象思想概述
- 什么是面向过程,什么是面向对象
- 面向过程:亲力亲为
- 面向对象:找人帮忙.
类和对象的关系
1.类的基本组成部分
属性:对类的静态描述(成员变量)
行为:这个类能干什么(方法)
2.类和对象的关系
类是抽象的
对象是具体的
总结:类是对象的抽象,对象是类的具体。
类的定义
public class 类名{
//属性(成员变量),定义在类的里面方法的外面。
//行为(成员方法),没有static,非静态方法
权限修饰符 返回值类型 方法名(参数列表){
//如果需要 写return
}
}
对象的创建及使用
对象创建和使用的三个步骤:
导包
import 包名.类名;
注意:
- 如果要使用的类和当前类在同一个包下,则可以省略导包
- java.lang包下的类不用导包(String)
创建对象
类名 对象名 = new 类名();
对象名:和变量名的命名规则一致
使用
调用成员方法:
对象名.成员变量名 = 对应类型的值; //赋值
数据类型 变量名 = 对象名.成员变量名; //取值
调用成员方法:
对象名.成员方法(参数列表); //无返回值的方法
数据类型 变量名 = 对象名.成员方法(参数列表); //有返回值的方法
对象(自定义类型)作为参数,传递的是地址值
使用自定义类型作为方法的返回值
方法的返回值可以是任意类型
对象作为返回值,返回的是地址值。
成员变量和局部变量的区别
位置 作用范围 默认值
成员变量 类里面,方法外面 整个类都可见 有,和数组中一样
局部变量 方法里面 该方法中 没有,必须先赋值再使用
成员变量在堆中,随着对象的创建而产生,随着垃圾回收而消亡。
局部变量在栈中,随着方法的入栈而产生,随着方法的出栈而消亡。
面向对象三大特征之封装
封装、继承、多态
private关键字的作用及使用
private:
操作成员变量的时候,有可能会有非法赋值
不能直接操作成员变量:私有化成员变量,用private来修饰成员变量
取值:getXxx();要有返回值
赋值:setXxx(数据类型 参数名);没有返回值,但要有参数
this关键字的作用
this:区分同名的局部变量和成员变量
什么是this:谁调用方法,谁就是this
1.局部变量和成员变量可以同名吗?可以
2.使用的时候用的是哪一个:如果有同名的局部变量和成员变量,局部变量的优先级比较高
3.加了this 指向的是成员变量,不加this指向的是局部变量
构造方法
构造方法的作用:
无参数的:创建对象
有参数的:创建对象并且给成员变量赋值
语法:
修饰符 方法名(参数列表){}
强调:
a.方法名和类名完全一致
b.没有返回值,连void都没有
其他注意事项:
1.如果没有显示的写一个构造方法,那么默认会赠送一个无参数的构造方法
2.如果显示的写了一个构造方法,则没有默认赠送
3.构造方法可以重载
4.一般我们定义一个类的时候会有一个无参数的构造方法,再来一个全参数的 构造方法。(建议)
定义一个标准的类
四个组成部分:
1.私有化属性
2.getXxx setXxx
3.无参数的构造方法
4.全参数的构造方法