面向对象(Object Oriented)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
面向对象是相对于面向过程来讲的,指的是把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。
三大特征:
封装性:所有的内容对外部不可见
继承性:将其他的功能继承下来继续发展
多态性:方法的重载本身就是一个多态性的体现
1、类与对象
类表示一个共性的产物,是一个综合的特征,而对象,是一个个性的产物,是一个个体的特征。 (类似生活中的图纸与实物的概念。)
类必须通过对象才可以使用,对象的所有操作都在类中定义。
类由属性和方法组成:
· 属性:就相当于人的一个个的特征
· 方法:就相当于人的一个个的行为,例如:说话、吃饭、唱歌、睡觉
类的定义格式
class
类名称
{
成员属性;
成员方法;
}
属性与方法
属性定义格式:
数据类型 属性名
;
属性定义并赋值的格式:
数据类型 属性名
=
初始化值
;
方法定义格式:
权限修饰符 返回值类型
方法名
(
形式参数列表
){
//方法体
return
返回值;
}
对象的创建与使用
一个类要想真正的进行操作,则必须依靠对象,对象的定义格式如下:
类名称 对象名称 = new
类名称
() ;
如果要想访问类中的属性或方法(方法的定义),则可以依靠以下的语法形式:
访问类中的属性: 对象.属性 ;
调用类中的方法: 对象.方法(实际参数列表) ;
2、构造方法(构造器)
作用:
用于对象初始化。
执行时机:
在创建对象时,自动调用
特点:
所有的Java类中都会至少存在一个构造方法 如果一个类中没有明确的编写构造方法, 则编译器会自动生成一个无参的构造方法
, 构造方法中没有任何的代 码!
如果自行编写了任意一个构造器, 则编译器不会再自动生成无参的构造方法。
定义的格式:
与普通方法基本相同, 区别在于
:
方法名称必须与类名相同
,
没有返回值类型的声明
!
3、方法的重载
方法名称相同,
参数类型或参数长度不同
,
可以完成方法的重载
!
方法的重载与返回值无关!
方法的重载 ,
可以让我们在不同的需求下
,
通过传递不同的参数调用方法来完成具体的功能。
4、构造方法的重载
一个类,
可以存在多个构造方法
:
参数列表的长度或类型不同即可完成构造方法的重载
构造方法的重载 ,
可以让我们在不同的创建对象的需求下
,
调用不同的方法来完成对象的初始化
!
/**
* 格式: class 类名称{
* 成员属性;
* 成员方法;
* }
*/
public class Car {
//属性
private String brand;
private String color;
//构造方法 无参
public Car() {}
//构造方法 全参
public Car(String b, String c) {
brand = b;
color = c;
}
//方法
public void show() {
System.out.println("汽车品牌:"+brand);
System.out.println("汽车颜色:"+color);
}
}
import task.Car;
public class CarTest {
public static void main(String[] args) {
//创建对象
Car car = new Car("桑塔纳", "黑色");
//调用方法
car.show();
}
}