之前学cpp的时候已经学过了,在此对java的面向对象也记录熟悉一下哈~
之前博文《Android学习笔记之——Android Studio的安装(3.6版本)、Java的基本语法及Android的概述 》有介绍过如何基于android studio进行java开发,但是本博文不打算对代码进行运行(虽然建议学习的时候边看边敲)
目录
方法
Java方法是语句的集合,它们在一起执行一个功能。
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他地方被引用
- 方法定义的顺序无所谓
- 一个方法内部不能定义另外一个方法
- 方法必须调用才会执行
方法的定义
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
方法包含一个方法头和一个方法体。下面是一个方法的所有部分:
- 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。如:public static
- 返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void。
- 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
- 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。(如果有多个,用逗号)
- 方法体:方法体包含具体的语句,定义该方法的功能。
- return:首先停止方法,其次将后面的返回值返回去调用处
定义方法时。三个注意点:
- 返回值类型
- 方法名称
- 参数列表
方法的调用
方法名称(参数);
方法调用的三种格式
- 单独调用:方法名称(参数)
- 打印调用:Sytem.out.println(方法名称(参数));
- 赋值调用:变量=方法名称(参数)
而对于返回值为void的方法,只能单独调用。
使用方法的一些注意事项
方法的重载(Overload)
就是说一个类的两个方法拥有相同的名字,但是有不同的参数列表(参数的数目、类型不同、多参数的顺序不同)。
Java编译器根据方法签名判断哪个方法应该被调用。
方法重载可以让程序更清晰易读。执行密切相关任务的方法应该使用相同的名字。
重载的方法必须拥有不同的参数列表。你不能仅仅依据修饰符或者返回类型的不同来重载方法。所以方法的重载与参数的名称及返回值的类型无关。
面向对象
概述
程序中有面向过程和面向对象两种。
面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲历亲为,详细处理每一个细节。
面向对象:不关心具体的步骤
面向对象的三大特征:封装、继承、多态
类和对象
- 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
- 类:类是一个模板,它描述一类对象的行为和状态。一组相关属性(状态信息)和行为(做什么)的集合。
类是对一类事物的描述,是抽象的。对象是一类事物的实例,是具体的。类是对象的魔板,对象是类的实例。
类的定义
public class 类名称{
成员变量
变量类型 名称
成员方法
方法的声明(成员方法没有static)
}
成员变量:对应事物的属性。直接定义在类当中,在方法的外边
成员方法:对应事物的行为。不要写static关键字
一个类可以包含以下类型变量:
- 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
- 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
- 类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
构造方法
每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。
在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。
创建对象
其他知识点笔记
数组
- 数组是一种引用的数据类型
- 数组当中的数据类型必须统一
- 数组的长度在程序运行期间不可改变。
初始化方法:
- 动态初始化(指定长度)
数据类型 [] 数组名称=new 数据类型[数组的长度];
- 静态初始化(指定内容)
数据类型 [] 数组名称=new 数据类型[] (元素1,元素2,...);
- 直接打印数组的名称,得到的是数组对应的地址。
- 数组[数字]才是对具体元素的引用,从0开始,注意是中括号。
数组长度在程序运行过程中不可改变。通过数组.length来获取长度