面向对象编程
面向对象中的概念
- 对象(Object):一切具体的事物都是对象
- 类(class):类是具有相同属性(静态特征)和行为的一组对象的抽象表示
类与对象的关系
类是对象的抽象表示(模板),对象是类的一个具体实例,类是抽象的,对象是具体;
定义一个类
class 类名{
数据类型 属性名=初值;
}
面向对象编程的步骤
- 定义类 class 类名{}
- 创建类的实例(对象) 类名 对象名=new 类名()
- 使用对象 .运算符; 对象名.属性,对象名.方法()
关于类中的属性
如果不给属性赋值,那么创建对象时,java会为不同类型的属性赋一个默认值;
- 属性若为基本数据类型,默认值即是基本数据类型对应的默认值
- 属性若为引用数据类型,默认值即是null
类中方法的定义(method)
返回值类型 方法名(参数){
代码段;
}
一个方法如果没有返回值,定义时可以使用void;如果有返回值,需要定义返回值的数据类型。
返回值的总结
- 每个方法只能有一个返回值,可以通过返回值类型来定义
- 如果方法有返回值,应该在方法执行完毕后return一个相同类型的数据
- return 之后不能再包含可执行的语句,否则会编译出错
- 一个方法中可包含多个return ,但每个return都应该是可抵达的
- 如果一个方法没有返回值,那么也可以使用 return提前结束
方法的参数
- 方法在定义时,可以给方法定义参数,每个方法可以有0到n个参数,方法定义中的参数叫作形参,形参的格式是 (数据类型 形参名,…..)
- 方法调用时,传递的参数叫实参
注意:调用方法时,实参的个数,类型,顺序都要与形参的定义保持一致;否则不能通过编译;
类中的方法体中可以直接调用类中的其它方法;
方法重载
重载(overload)方法指的是在一个类中,方法名相同,而参数列表不同的一组方法
参数列表不同指的是,参数的个数,数据类型或顺序不同
构造方法(constructor)
作用:在创建对象时对对象的属性初使化;
如何定义一个构造方法
- 方法名与类名相同
- 无返回值
- 可以写多个(重载)
关于构造方法说明
- 构造方法是一个特殊的方法,它的作用是用来初始化对象的属性;
- 构造方法在实化对象时(new )自动调用,不能像普通方法那样显式调用
- 一个类至少包含一个构造方法,如果不显式定义构造方法,那么java会在编译时为我们生成一个无参的构造方法
- 如果显示定义了一个构造方法,java就不会再生成无参的构造方法了
就近原则
如果在一个作用域中,可以访问到多个同名的变量,那么将采用就近原则进行访问
this关键字
可以在类中使用,this代表当前对象引用,通过 this.属性名 语法可以直接访问对象的属性
对象的创建过程
1.在(堆)内存开辟了一块空间
2.调用构造方法来初使化对象的属性
3.返回引用地址
java中的传参方式
基本数据类型:按值传 (pass by value)
引用类型:按引用传 (pass by reference)
关于包的说明
- 为了便于管理java中的类,java给我们提供了package(包)来对类进行管理
- 定义一个package可以使用.运算符进行分隔,包名使用小写字符
- 通过package 关键字可以声明类所在的包,每个类文件只能包含一个package ,同时必须放在类文件的第一行
- 如果想使用其它包中的类,可以使用 import进行导入
如果同时使用两个名中同名的类,那么可以在代码中通地以下形式来实用
xxx.xxx.xxx.Student s=new xxx.xxx.xxx.Student()