java 005
面向对象
面向过程:当需要实现一个功能的时候,每一个具体步骤都要亲力亲为,详细处理每一个细节。
面向对象:当需要实现一个功能时,不关心具体步骤,而是找一个已经具有该功能的人,来帮忙做事。
import java.util.Arrays;
public class HelloWorld{
public static void main(String args[]) {
int [] array = {10,20,30,40,50};
System.out.println(Arrays.toString(array));//面向对象的方法
System.out.println("==============");
for (int i=0;i<array.length;i++) {
if (i==0) {
System.out.print("["+array[0]+", ");
}
else if (i<array.length-1) {
System.out.print(array[i]+", ");
}
else {
System.out.print(array[i]+"]");
}//这是面向过程的方法
//找一个jdk给我们提供好的Arrays类,其中有一个toString方法,能实现
/*结果是:
[10, 20, 30, 40, 50]
==============
[10, 20, 30, 40, 50]
*/
}
}
}
面向对象更符合我们思考的习惯,把复杂的事情简单化,如我们洗衣服,面向过程就是我们亲力亲为一步一步自己洗衣服,面向对象就是丢给洗衣机洗
面向对象有三大基本特征:封装、继承、多态
类
类的目的时抽象出一类事物共有的属性和行为。属性就是【是什么】,行为就是【能做什么】
如“学生”
属性:姓名,年龄
行为:吃饭,睡觉,学习
Java中类的定义:
class 类名{
变量声明
方法定义
}
注意:1、类体中声明的变量叫【成员变量】或【域变量】,成员变量的类型可以是任意数据类型,作用范围时所在的整个类
2、方法头不要写static关键字
成员变量又分为实例成员变量(简称实例变量)和类变量(也称静态变量),如果成员变量的类型前面加上关键字static
3、在方法体中声明的变量和方法的参数成为局部变量
4、方法体内可以使用成员变量和局部变量
5、如果局部变量在循环体,或if等复合句中,则局部变量仅在循环体和复合句中有效
6、若局部变量和全局变量名称相同,则在方法内,局部变量优先,若想使用全局变量的值,需要使用【this.变量名】
7、局部变量没有默认值
8、对成员变量的操作(除了声明的同时赋值)只能放在方法中,如单纯的赋值
对象
用类声明的变量叫对象
(一个类并不能直接使用,需要根据类创建一个对象,才能使用,也就是说这个变量的数据类型是类)
创建对象:
类名称 对象名 = new 类名称();
可以分为两步:
1、声明对象: 类名称 对象名称;
2、分配变量:对象名称 =new 类名称();
注意:定义类中的方法体如果有参数,则在创建对象时也要输入参数值