一、面向过程与面向对象
package array;
import java.util.Arrays;
/*
面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲历亲为,详细处理每一个细节
面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事
*/
public class PrintArray {
public static void main(String[] args) {
int[] array = {10, 20, 30, 40, 50};
//要求打印格式为:[10, 20, 30, 40, 50]
//使用面向过程
System.out.print("[");
for (int i = 0; i < array.length; i++) {
if (i == array.length - 1) { //如果是最后一个元素
System.out.println(array[i] + "]");
} else {
System.out.print(array[i] + ", ");
}
}
//使用面向对象
//找一个JDK给我们提供好的Arrays类
//其中有一个toString方法,直接就能把数组变成想要的格式的字符串
System.out.println(Arrays.toString (array));
}
}
特点
1.面向对象思想是一种更符合我们思考习惯的思想,它可以将复杂的事情简单化,并将我们从执行者变成了指挥者。
2.面向对象的语言中,包含了三大基本特征,即封装、继承和多态。
二、类和对象
1.类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。
属性:就是该事物的状态信息。
行为:就是该事物能够做什么。
2.对象:是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性和行为。
3.类和对象的关系
- 类是对一类事物的描述,是抽象的。
- 对象是一类事物的实例,是具体的。
- 类是对象的模板,对象是类的实体。
三、类的定义
Java中用class描述事物:
成员变量:对应事物的属性
成员方法:对应事物的行为
类的定义格式
public class ClassName {
//成员变量
//成员方法
}
- 定义类:就是定义类的成员,包括成员变量和成员方法。
- 成员变量:在类中,方法外。
- 成员方法:和以前定义方法几乎一样,只不过把static去掉。
package Class;
/*
定义一个类,用来模拟“学生”事物,其中就有两个组成部分:
属性(是什么):姓名、年龄;
行为(能做什么):吃饭、睡觉、学习。
对应到Java类中:
成员变量(属性):
String name;//姓名
int age;//年龄
成员方法(行为):
public void eat() {}
public void sleep() {}
public void study() {}
Notice:
1.成员变量是直接定义在类当中,在方法外面。
2.成员方法不要写static关键字
*/
public class Student {
//成员变量
String name;
int age;
//成员方法
public void eat() {
System.out.println("吃饭");
}
public void sleep() {
System.out.println("睡觉");
}
public void study() {
System.out.println("学习");
}
}
通常情况下,一个类并不能直接使用,需要根据类建立一个对象,才能使用。
1.导包:也就是指出需要使用的类,在什么位置。
import 包名称.类名称;
对于和当前属于一个包的情况,可以省略导包语句不写。
2.创建,格式:
类名称 对象名 = new 类名称();
3.使用,分两种分情况:
使用成员变量:对象名.成员变量名
使用成员方法:对象名.成员方法名(参数)
package Class;
/*
如果成员变量没有进行赋值,那么将会有一个默认值
如果是整数类型,那么默认为0
如果是浮点类型,那么默认为0.0
如果是字符类型,那么默认为'\u0000'
如果是布尔类型,那么默认为false
如果是引用类型,那么默认为null
*/
public class Student {
public static void main(String[] args) {
Student stu = new Student();
System.out.println(stu.age);//0
System.out.println(stu.name);//null
stu.name = "蒟蒻";
stu.age = 19;
System.out.println(stu.age);//19
System.out.println(stu.name);//蒟蒻
stu.eat();//吃饭
stu.sleep();//睡觉
stu.study();//学习
}
}
定义一个完整的类:
package Class;
/*
一个标准的类通常要拥有下面四个组成部分:
1.所有的成员变量都要使用private关键字修饰
2.为每一个成员变量编写一对getter/setter方法
3.编写一个无参数的构造方法
4.编写一个全参数的构造方法
这样标准的类也叫做Java Bean
*/
public class AStudent {
private String name;
private int age;
public AStudent() {
}
public AStudent(String name, int age) {
this.name = name;
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}