目录
一、面向对象
为什么面对对象编程?
符合人类思维习惯,编程更简单,更好理解
面对对象重点学习什么?
学习获取已有对象并使用
学习如何自己设计对象并使用(面向对象语法)
什么是抽象?
抽象就是抽出事物本质特征,而暂不考虑他们的细节。
二、类和对象
1.类
类是对现实生活中一类具有共同属性和行为的事物的抽象
类是对象的数据类型,类是具有相同属性和行为的一组对象的集合/设计图
(1)定义类
类的组成是由属性和行为两部分组成
属性:事物的特征,在类中通过成员变量来体现
成员变量:定义 [访问说明符][修饰符] 数据类型 变量名;
行为:事物可以执行的操作,在类中通过成员方法来体现
成员方法:用来规定对类属性的操作,实现类对外界提供的服务,也是类与外界交流的接口。成员方法的实现主要包括方法声明和方法体两部分
注:如何找到实际开发项目中的属性与行为?名词-->属性 动词-->行为
/*
手机类:
类名:
手机(Phone)
成员变量:
品牌(brand)
价格(price)
成员方法:
打电话(call)
发短信(sendMessage)
*/
public class Phone {
//成员变量(属性)
String brand;
int price;
//成员方法(行为/方法)
public void call() {
System.out.println("打电话");
}
public void sendMessage() {
System.out.println("发短信");
}
}
(2)类的分类
- 用来描述一类事物的类,专业名称为Javabean,在Javabean中是不写main方法的,上面关于手机的代码是Javabean类
- 编写main方法的类,叫做测试类,可以在测试类中创建javabean类的对象并进行复制调用,在学面向对象之前写的都是测试类
(3)关于类的注意事项
- 类名首字母大写,驼峰命名法,见名知意,不能用关键字
- 一个Java文件中可以定义多个class类,且只有一个类是public修饰,而且public修饰的类名必须为代码文件名(实际开发中,建议一个文件定义一个class类)
- 成员变量的格式:(修饰符) 数据类型 变量名称 = 初始化值;(一般无需指定初始化值,存在默认值)
2.对象
(1)概述
是客观世界存在的具体实体,其具有明确定义的状态和行为。属性和行为是对象的两大要素:
- 属性:属性静态特征的描述
- 行为:对象动态特征的描述,也成方法或操作
在Java中,必须先设计类,才能获得对象
(2)创建对象
类名 对象名 = new 类名();范例:Phone p = new Phone();
(3)使用对象
使用成员变量:
同一个类中:直接使用
不在同类中:格式:对象名.变量名 范例:p.brand
调用成员方法:
同一个类中:直接使用
不在同类中:格式:对象名.方法名() 范例:p.call()
public class PhoneDemo {
public static void main(String[] args) {
//创建对象
Phone p = new Phone();
//使用成员变量
System.out.println(p.brand);
System.out.println(p.price);
p.brand = "小米";
p.price = 2999;
System.out.println(p.brand);
System.out.println(p.price);
//使用成员方法
p.call();
p.sendMessage();
}
}
3.类与对象的关系
- 类:类是对现实生活中一类具有共同属性和行为的事物的抽象
- 对象:是能够看得到摸的着的真实存在的实体,是类的具体化,是类的实例
- 简单理解类是对事物的一种描述,对象则为具体存在的事物
- 面向对象程序设计的重点是类的设计,而不是对象的设计