面向对象:oop(Object Oriented Programming)
一切皆对象,java当中最基本的操作单位就是对象
1.对象:符合类的特征的独立个体,真实存在的
符合类的实例化个体
2.类/类型:所有对象共同的特征或行为,抽象出来成为类,不真实存在的
举例:
学生类:
学生的特征: 成员变量/属性
名字 年龄 学号 班级
学生的行为(可以做的事): 成员方法
吃饭 睡觉 打游戏 学习
3.类和对象的关系:
先要有类,才能创建类的实例化对象
4.类的定义
1)分类
有实际意义的类 - 实体类
成员变量:
引用数据类型的成员变量默认初始值:null
基本数据类型的成员变量默认初始值:0
成员方法:
没有实际意义的类 - 普通类
作用:用来放主方法
5.使用对象的步骤:
1)先要定义/声明类
public class Student{
String name
study()
}
2)在普通类中创建 类的对象
Studnet stu = new Studnet();
3)通过对象 使用类中的成员变量 和 成员方法
使用变量:
对象名.变量
使用方法:
对象名.方法
6.局部变量 和 成员变量的区别:
1)声明位置
局部变量:声明在方法中
成员变量:声明在类中
2)初始化区别
局部变量: 使用前必须声明 + 初始化
成员变量: 使用前可以不用初始化
3)个数区别
局部变量: 声明多少个就有多少个局部变量
成员变量: 对象有多少个,成员变量就有多少个
4)JVM内存中的区别
局部变量: 存在栈中,方法结束,变量消失
成员变量: 存在堆中
第一次使用类[新建类的对象]之前,进行类加载
7.构造方法/构造器
1)作用: 为了给成员变量初始化
2)特点:
a.方法名必须和类名一致
b.修饰词可用可不用 (public)
c.如果没有写构造器,系统默认调用无参构造器
d.如果手动调用了有参构造器,将不会自动添加无参构造器
e.构造方法没有返回值类型
8.this关键词
this表示当前对象
this表示一个动态的值 - 哪个对象调用就表示哪个对象
1)在构造方法中,成员变量和临时变量重名时,需要借助this关键词表示成员变量
ps: this.name = name
this.name 表示的就是成员变量
2)this可以调用成员变量和成员方法
在调用方法时,this可以省略
3)构造方法之间可以互相调用,使用this关键词
调用无参构造方法: this()
调用有参构造方法: this(参数)
4)在构造方法中使用this(参数),只能放在方法的第一行
9.方法重载
1)前提:必须在同一个类中,几个方法的方法名相同,方法参数不一样,叫做方法的重载
2)方法参数不一样的情况
a.参数个数不一样
method(int a)
method(int a , int b)
b.参数的类型不一样
method(int a)
method(Stirng a)
c.参数的类型顺序不一样
method(int a, double b)
method(double a, int b)
d.方法参数名不一样,不能造成重载
method(double arr, int bb)
method(double a, int b)
3)方法的重载跟返回值无关