面向对象的基本概念
java是一种面向对象的语言,其基本思想是把问题看成由若干个对象的组成的,这些对象之间是独立的,但又可以相互配合、连接、协调,从而完成整个程序要实现的任务和功能。
面向对象的三大特征:封装、继承、多态。
对象是用来描述客观事物的一个实体。
把一些共同的特征和共有的行为组织到一个单元中,就得到了类。
类具有相同属性和方法的一组对象集合,类定义了对象将会拥有的特性和行为,即属性和方法。
定义类
[访问修饰符] class 类名{
}
访问修饰符是可选的
class是声明类的关键字
属性
java中类的内部主要包含属性和方法,属性的定义
[访问修饰符] 数据类型 属性名;
方法的声明
[访问修饰符] 返回值类型 方法名(参数列表){
}
返回值类型如果不是void,那么在方法体中一定要使用return关键字返回对应的类型
小括号中的参数列表再执行方法时需要传入相应类型的参数
对象的创建和使用
创建对象
类名 对象名 = new 类名();
new是关键字
左边的类名为对象的数据类型
右边的类名()称为类的构造方法
使用对象
类的对象可以调用类中的成员
对象名.属性
对象名.方法名()
方法重载
方法重载是指在一个类中定义了多个同名的方法,但要求每个方法具有不同的参数类型或参数个数。
方法重载的特点
在同一个类中
方法名相同
参数个数或参数类型不同
方法的返回值不能作为判断方法之间是否构成重载的依据
方法重载的优点
方法重载其实是对原有方法的一种升级,可以根据参数的不同,采用不同的实现方法,而且不需要编写多个名称,简化了类调用方法的代码。
成员变量
类中的属性,也就是直接在类中定义的变量,它定义在方法的外部。
局部变量
定义在方法内部的变量叫局部变量。
成员变量和局部变量的区别
作用域不同
初始值不同
成员变量如果在类定义中没有给它赋予初始值,java会给它一个默认值。
局部变量必须要先赋值然后再使用。
局部变量和成员变量同名时,局部变量具有更高的优先级。
数据类型
变量的类型分为两种,一种基本类型,一种引用数据类型
基本数据类型传值,会在开辟一块内存空间,其中一个值的改变不会影响另一个值
引用数据类型传值,实际上传递的是地址,两个变量名指向同一块内存区域,其中一个的值改变,另一个的值相应的改变。
构造方法
定义:构造方法主要进行一些数据的初始化
[访问修饰符] 方法名([参数列表]){
}
构造方法没有返回值
默认的构造方法没有参数(自己声明构造方法,系统不再提供默认的构造方法)
构造方法的方法名和类名相同
this关键字是对一个对象的默认引用
使用this调用成员变量,解决成员变量和局部变量的命名冲突。
使用this调用重载的构造方法,只能在构造方法中的使用,且必须是构造方法的第一条语句。