1.1、软件开发中有两种常见的面向思想 :
- 面向过程:强调做事逐步细致,事事亲力亲为。
例如:做饭 拿米 --> 下锅 – >清洗 --> 开煮(这样一步一步的做事方式就是面向过程的做事方式)。 - 面向对象:强调的是拿对应具有此功能的工具,去处理实现。
例如:做饭 叫一声女朋友 --> 女友做饭(此时女友具备做饭的功能)
1.2 、面向对象的概念
面向对象是软件开发过程中使用的一种优秀的思维方式。强调“拿来即用”不关注详细的过程。例如:random,scanner等的使用。
1.3、面向对象的特点
- 可以将复杂事情简单化。
- 将程序由执行者转化成为指挥者。(如上所说的做饭例子)
- 更贴切实际生活,符合人们思考习惯。
2.1类的概念
我们创建个Java文件其实就是一个类(class),一个类就是一个引用数据类型。
2.2、创建Java类的方式
一个Java类中至少有两个部分组成
- 成员变量
我们一般把属性信息保存为成员变量(人的年龄,性别,姓名,爱好等信息称之为人具有的属性)
成员变量用来保存类的属性。
public class Person{
String name;
int age;
}
//定义成员变量,即使不赋值也能使用,程序执行时自动赋予默认
//引用数据类型默认值为null(空)
//Boolean默认值false
//char默认值 一个空字符
//double,float 默认值 0.0
//byte,short,int,long 默认值 0 - 成员方法
我们一般把功能或者行为定义为成员方法(人的吃饭,说话,睡觉,运动等都是人具备的功能)
成员方法用来封装功能。
public class Person{
public void eat(){
System.out.println(“吃饭”);
}
public void talk(){
System.out.println(“说话”);
}
public void sleep(){
System.out.println(“睡觉”);
}
}
2.2使用Java类的方法- import导包,先导包将自己写的Java类导入当前测试类中
- 创建对象,格式 类名 对象名 = new 类名();
package com.bao;
import java.util.Scanner;
public class Demo{
public static void main(String[] args){
//Java类只有先创建对象之后,才能够使用类中的所有对象
Scanner scanner= new Scanner(System.in);
}
} - 使用Java类
使用成员方法-
无返回值:对象名.方法名(参数)
-
有返回值:其他变量 = 对象名.方法名(参数)
使用Java类的成员变量 -
为成员变量赋值:对象名.成员变量 = 值;
-
获取成员变量值:其他变量 = 变量名.成员变量;
public class Person {
String name;
int age;public void eat(String food) { System.out.println("吃饭吃"+food); } public void sleep() { System.out.println("睡觉"); } public String talk() { return "你好啊"; }
}
使用Java类的成员变量: -
为成员变量赋值:对象名.成员变量 = 值;
-
获取成员变量值:其他变量 = 对象名.成员变量;
2.4Java类的创建及使用的注意事项
-
-
为了安全,成员变量都用private修饰
成员变量使用private修饰这样改成员变量只有在该类内部可用。外界无法调用。
修饰符的说明: -
private 私有的,标记了private的成员变量或方法,只有本类内部使用。
-
public 公共的,标记了public的成员变量或者方法,任何地方多能调用。
如果外部需要获取或修改成员变量,需要设置get/set方法。
public class Person {
String name;
int age;public void eat(String food) { System.out.println("吃饭吃"+food); } public void sleep() { System.out.println("睡觉"); } public String talk() { return "你好啊"; }
//这里this关键字目前可以用来在本类内部区分 成员变量。
public Person(String name, int age) {
this.name = name;
this.age = age;
}public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }
若成员变量和局部变量重名。
方法内使用变量时:
直接使用的是局部变量 ( 就近原则 )
this.变量名 使用的是成员变量
2.5、封装
定义一个Java类,定义private的成员变量,为私有成员变量提供get/set方法,叫做封装好了一个类。
封装的思想:成员变量用private,并创建get/set方法
封装好处:
封装使得一个类和现实更加接近;
把代码用用方法分装,提高代码的复用性;
通过private修饰符的使用,分装提升了代码的安全性;