面向对象

面向对象概念

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)方法的重载跟返回值无关