面向对象介绍
- 面向:拿、找
- 对象:能干活的东西或者有对应技能的人
- 面向对象编程:拿东西做对应的事,找有技能的人做对应的事
在生活中很多时候,我们都是找东西做对应的事。比如:找洗衣机洗衣服, 找扫地机扫地,找手机打电话。这种找东西来解决事情的思路就叫做面向对象编程
学面向对象之前其实已经用过面向对象编程
例如:随机数的生成,在控制台输入数据
//得到一个随机数对象,用于获取随机数
Random r = new Random();
int data = r.nextInt(100) + 1;//生成1~100之间的随机数
System.out.println(data);
//创建一个scanner对象,用于接收用户输入的数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数:");
int m = sc.nextInt();
System.out.println(m);
图中的Random… 、System… 、Scanner… 都是面向对象编程
与C语言不同的是Java面向对象更注重于整体,而不是特别在意细节,C语言在这方面就像是包工头,而Java就像是幕后的老板,只负责分配工作,至于怎么做,Java则不关心
为什么Java要使用面向对象来编程
结合生活中的实际情况来看
洗衣服找洗衣机 扫地找扫地机 打电话找手机
似乎这种方式更符合人类的思想
所以Java中的面向对象更加符合人类的思维习惯,使编程更简单,更好理解
面向对象学什么
-
如何获取已有的对象并使用
例如:随机数和控制台输入
Random r = new Random(); int data = r.nextInt(100) + 1; Scanner sc = new Scanner(System.in); int m = sc.nextInt();
-
如何自己设计对象并使用
涉及面向对象的语法以及自身的实际情况
如何设计对象
类和对象
在Java中,必须先设计类,才能获得对象
-
类(class):具有相同属性和行为的对象的集合,是一个抽象的概念,不指向任何具体的实物
-
属性:描述对象的特征,在程序找中体现成员变量
行为:对象具有的动作或能力,在程序中,体香方法
例如下面这些都是类 猫,学生,树,桌子…
-
类的定义:
程序中用关键字class类
语法结构:
[修饰符]class类名{
//属性(成员变量)
//行为(方法)
}
例如
//定义类名 public class Student { //定义属性 String name; int age; String sex; //定义方法 void study(){ System.out.println("正在学习....."); } void exam(){ System.out.println("正在考试....."); } void sleep(){ System.out.println("正在休息....."); } }
-
-
对象:是真实存在的具体东西,对象是类的一个具体的实例,是类的具体的表现
-
创建对象的语法:
类名 对象名 = new 类名([参数])
Student student = new Student();
-
读写属性
对象名.属性名
student.name = "张三"; System.out.println(student.name);
-
调用方法
对象名.方法名([参数])
student.study();
-
类和对象之间的关系
类是对象的集合,是抽象概念;对象是类的具体实例
通过 new 关键字创建(实例化)对象
一种特殊的类
POJO类
POJO(Plain Ordinary Java Object )简单的Java类。也叫做Java Bean类,或者实体类
主要用于描述数据,比如数据库中的记录
只有属性和get,set方法,没有其他的业务逻辑的方法
员工实体类(POJO)
public class Emp {
String name; //员工姓名
int sex; //员工姓名
int age; //员工年龄
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
创建方法:
成员变量和局部变量的区别
成员变量
定义在类中的变量,也称为成员变量,也叫属性
它跟数组元素一样的,有默认,所以成员变量可以不初始化直接使用
作用域是整个类
//直接在类的大括号里面定义的变量叫成员变量也叫做属性
String brand;//品牌
String color;//颜色
int seat;//座位数
成员变量默认值:(和数组默元素认值相同)
数据类型 | 默认值 |
---|---|
整形 | 0 |
浮点型 | 0.0 |
布尔型 | false |
字符型 | 不可见字符(‘\u0000’) |
引用类型 | null |
局部变量
定义在方法中的变量,称为局部变量
局部变量没有默认值,所以必须先初始化,再使用
局部的作用域在它所在的大括号内有效
方法执行完后,局部变量就消失
int i = 0;
String str = "张三";
for (int j = 0; j < 10; j++) {
}
不可见字符(‘\u0000’) |
| 引用类型 | null |
局部变量
定义在方法中的变量,称为局部变量
局部变量没有默认值,所以必须先初始化,再使用
局部的作用域在它所在的大括号内有效
方法执行完后,局部变量就消失
int i = 0;
String str = "张三";
for (int j = 0; j < 10; j++) {
}