面向过程:当需要实现一个功能时,每一个具体的步骤都要亲历亲为,详细处理每一个细节。
面向对象: 当需要实现一个功能时,不关心具体的步骤,而是找一个已经具有该功能的人,帮我做事。简单点两个字:“偷懒”。
package 面向对象;
import java.util.Arrays;
/**
* @Author: Jason
* @Date: 2019/5/25 14:57
* @Version 1.0
*/
public class PrintArray {
public static void main(String[] args) {
int[] array = {20, 23, 45, 656, 78, 90};
//面向过程
//输出[20, 23, 45, 656, 78, 90]
// System.out.print("[");
// for (int i = 0; i < array.length; i++) {
// if(i==array.length-1){
// System.out.print(array[i] + "]");
// }
// else {
// System.out.print(array[i] + ",");
// }
// }
//使用面向对象
//找到jdk给我们提供好的Arrays类
//其中有一个toString方法,直接就能把数组变成想要的格式的字符串
System.out.print(Arrays.toString(array));
}
}
什么是类:
是一组相关属性和行为的集合,可以看成是一类事物的模板,
使用事物的属性特征和行为特征来描述该类事物。
生活中,描述一类事物:
属性:就是该事物的状态信息。
行为:就是该事物能做什么。
如: 小狗。
属性:名字、体重、年龄、颜色。
行为:走、跑、跳、叫。
什么是对象:
是一类事物的具体体现。对象是类的一个实例(对象并不是找女朋友),
必然具备该类事物的属性和行为。
类与对象的关系:
类是对一类事物的描述,是抽象的。
对象是一类事物的具体表现,是具体的。
类是对象的模板,对象是类的实体。
定义一个类,用来模拟“学生”事物,其中有两组成部分;
属性(是什么):
姓名
年龄
身高
行为(能做什么):
吃饭
跑步
学习
睡觉
对应到java的类当中:
成员变量(属性)
int age; //年龄
String name;//姓名
float height; //身高
成员方法(行为):
public void eat() {} //吃饭
public void run() {} //跑步
public void learn() {} //学习
public void sleep() {} //睡觉
注意事项:
1.成员变量是直接定义在类当中的,在方法的外面。
2.成员方法不要写static关键字。
通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用。
1. 导包:也就是指出需要使用的类,在什么位置。
import 包名称.类名称;
对于和当前类属于同一个包的情况,可以省略导包语句不写。
2.创建,格式:
类名称 对象名 = new 类名称();
Student stu = new Student( );
3.使用,分为两种情况:
使用成员变量:对象名.成员变量名
使用成员方法:对象名.成员方法名(参数)
package 面向对象;
/**
* @Author: Jason
* @Date: 2019/5/25 18:58
* @Version 1.0
*/
public class DemoStudent {
public static void main(String[] args) {
//1.导包
//因为得使用Student类,和DemoStudent位于同一个包下,所以省略导包语句不写
//2.创建
// 类名称 对象名 = new 类名称
Student stu = new Student();
//3.使用其中成员变量
//对象名.成员变量名
System.out.println(stu.name);
System.out.println(stu.age);
System.out.println("==============");
//改变对象中的成员变量数值内容
//将右侧的字符串,赋值交给stu对象当中的name成员变量
stu.name = "赵丽颖";
stu.age = 18 ;
stu.height = 162;
System.out.println(stu.age);
System.out.println(stu.name);
System.out.println(stu.height);
System.out.println("============");
//4.使用对象的成员方法
//对象名成员方法名()
stu.eat();
stu.learn();
stu.sleep();
stu.sleep();
}
}