面向对象
面向对象概念
Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。
一切皆对象,Java当中最基本的操作单位就是对象。
类:
所有对象共同的特征或行为,是一种抽象的存在。
ps:学生类:学生的特征:名字、学号、班级。学生的行为:吃饭、睡觉、学习。
类的定义:
1、分类
有实际意义的类 —— 实体类
成员变量:引用数据类型的默认初始值:null
基本数据类型的初始值为:0
成员方法:
没有实际意义的类 —— 普通类
作用:用来存放主方法
对象:
符合类的特征的独立个体,是真实存在的,有具体指向的。
使用对象的步骤:
1、要先定义 / 声明类
public class Student{
String name;
study();
}
2、在普通类中创建类的对象
Student stu = new Student();
3、通过对象使用类中的成员变量和成员方法
使用变量: 对象名.变量
使用方法: 对象名.方法
特征:成员变量 / 属性
可以不用初始化,因为有默认初始值
局部变量和成员变量的区别
声明位置
局部变量:声明在方法中
成员变量:声明在类中
初始化区别
局部变量: 使用前必须声明 + 初始化
成员变量: 使用前可以不用初始化
个数区别
局部变量: 声明多少个就有多少个局部变量
成员变量: 对象有多少个,成员变量就有多少个
JVM内存中的区别
局部变量: 存在栈中,方法结束,变量消失
成员变量: 存在堆中。第一次使用类[新建类的对象]之前,进行类加载
引用数据类型的默认初始值:null,基本数据类型的默认初始值:0
行为:
成员方法
ps:学生是类。小明是对象。小明是男的、身高180、体重120这些都是特征。小明在学习是行为。
类与对象的关系:
类是对一类事物的描述,是抽象的。
对象是一类事物的实例,是具体的。
类是对象的模板,对象是类的实体。
构造方法 / 构造器
作用
为了给成员变量初始化
特点
a.方法名必须和类名一致
b.修饰词可用课不用 (public)
c.如果没有写构造器,系统默认调用无参构造器
d.如果手动调用了有参构造器,将不会自动添加无参构造器
e.构造方法没有返回值类型
this关键词
this表示当前对象。
this表示一个动态的值 - 那个对象调用就表示那个对象。
1)在构造方法中,成员变量和临时变量重名时,需要借助this关键词表示成员变量
ps: this.name = name this.name 表示的就是成员变量
2)this可以调用成员变量和成员方法在调用方法时,this可以省略
3)构造方法之间可以互相调用,使用this关键词
调用无参构造方法: this()
调用有参构造方法: this(参数)
4)在构造方法中使用this(参数),只能放在方法的第一行
方法重载
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)方法的重载跟返回值无关