什么是面向对象?
- 用官方的话来说,面向对象即就是一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类,继承,帮助人们实现对现实世界的抽象与数字建模。面向对象是基于面向过程来说的,一个是对象,一个是过程,好比一个例子,把大象塞进冰箱需要几步?有人说,要先宰了大象,然后清洗,再而分类,然后有的放入冷藏,有的放冷冻等等等,又有人说,只需要三步,第一,打开冰箱,第二,把大象塞进去,第三,关上冰箱。这只需要三步的装入冰箱法再我看来就是面向对象,我们并不需要知道大象应该怎样才能被装进去的过程,我们只知道,打开,放进去,关上,这几个步骤而已。
类与对象概述
- 类是Java中最小的单位,封装成员变量和成员方法,也就是成员变量和成员方法的集合。
- 成员变量=属性 eg:人的姓名,年龄
- 成员方法=行为 eg:吃饭,睡觉,运动
- 对象:实现类的具体体现
如何创建对象呢? 类名 对象名=new 类名();
public class Student//学生类 {
//成员变量
String name="王小明";
int age=21;
int height=180;
//成员方法
public void eat(string food){//学生吃饭的方法
System.out.println("今天吃的是"+food);
}
public void sing(String gname){//学生唱歌的方法
System.out.println(name+"会唱"+gname);
}
}
如何去使用成员变量和成员方法呢?成员变量:对象名.变量名 成员方法:对象名.方法名(参数,或者没有参数);
Student student = new Student();//创建了一个对象student,student就是学生类的一个引用,可以用来调方法,属性
String name = student.name;
System.out.println(name);
student.eat("宫保鸡丁");
student.sing("山丘");//如果是有返回值的方法,返回一个同类型的即可
-
成员变量和局部变量的区别
1. 成员变量是在类中方法外,随着对象的创建而存在,有默认初始值,例如int的初始值是0,string的初始值是null。
2. 局部变量是在方法声明中或者方法内,随着方法的调用而存在,没有默认初始值,必须要定义赋值。
3. 成员变量和局部变量可以重名,在方法的使用中采取的是就近原则,也可以采取this关键字来区分二者。this代表一个类的引用,意味着谁调用这个方法,this就代表着谁。