面向对象思想概述:
Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想。这里的对象是泛指现实中一切事物(万物皆对象),每种事物都有其属性和行为。面向对象思想是在计算机程序设计过程中,参照现实中事物,将事物的属性特征,行为特征抽象出来,描述成计算机的设计思想。面向对象思想区别于面向过程思想,强调于是通过调用对象的行为来实现功能,而不是自己一步一步的操作实现。
举例:
洗衣服
面向过程:把衣服脱下,找一个盆,放点洗衣服,加点水,浸泡十分钟,揉一揉,清洗衣服,拧干,晾晒
面向对象:把衣服脱下,打开洗衣机,放衣服进洗衣机,按钮,晾晒
区别:
面向过程:强调步骤。
面向对象:强调对象,这里的对象是洗衣机
特点:
面向对象思想是更符合我们思考习惯的的思想,可以将复杂的事情简单化,并将我们从执行者变成指挥者。
面向对象的语言中,包含了三大基本特征:封装,继承,多态。(抽象)。
类
什么是类:
类:一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性和行为描述该类事物。
描述事物:
属性:事物的特性
行为:事物的行为。
举例:学生
属性:名字,性别,年龄…
行为:吃,走,叫,学习…
对象
对象:是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性和行为。
类与对象的关系
类是一类事物的描述,是抽象的。
对象是一类事物的实例,是具体的。
类是对象的模板,对象是类的实体。
类的定义:
Java中用class描述事物:
成员变量:事物的属性。
成员方法:事物的行为。
定义格式:
public class Student{
//成员变量
//成员方法
}
定义类:就是定义类的成员,包括我们的成员变量和成员方法。
成员变量:和普通的定义变量一样,只不过位置不一样。在类中,方法外。
成员方法:和普通的定义方法一样,只不过把static关键字去掉。
public class Student {
String name;
String age;
public void study(){
System.out.println("在学习类");
}
public void eating(){
System.out.println("吃饭");
}
}
对象的使用:
创建对象:
类名 对象名 = new 类名 ();访问类中的成员变量和成员方法。
对象名.成员变量
对象名.成员方法(有逗号隔开)
public class Demo {
public static void main(String[] args) {
//创建对象
Student student = new Student();
//修改对象的属性
student.name="李白";
student.age="24";
//输出对象属性
System.out.println(student.name);
System.out.println(student.age);
//调用对象方法
student.study();
student.eating();
}
}
成员变量的默认值:
整数(byte , short , int , long ): 0
浮点数(float , double): 0.0
字符(char):’\u0000 或者乱码
布尔类型:false
引用类型(数组, 接口,类): null
对象作为方法参数进行传递
当对象作为我们的方法参数传递的时候,传递的是地址,所以我们的方法中对我们的对象进行操作,我们的原来的那个对象也会跟着变化。
public class Phone {
String brand;
String color;
int price;
}
public static void main(String[] args) {
//创建对象
Phone phone = new Phone();
phone.brand="华为";//品牌
phone.color="白色";//颜色
phone.price=3500;//初始定价
add(phone);//调用方法
phone.price=3500;//第二次修改定价
System.out.println("第二次修改:"+phone.price);
}
public static void add(Phone phone){
phone.price=4000;//第一次修改定价
System.out.println(phone.brand);
System.out.println(phone.color);
System.out.println(phone.price);
}
成员变量和局部变量的区别:
public class Demo{
//成员变量
String username;
public static void main(String[] args){
//局部变量
int a = 10;
}
}
位置的不同(重点掌握)
成员变量:在类中,方法外。
局部变量:在方法中。
作用范围不同(重点)
成员变量:在类中。
局部变量:在方法中。
初始化不同(重点)
成员变量:有默认值。
局部变量:没有默认值,必须先定义,赋值,再使用。
在内存中的位置不同
成员变量:堆内存。
局部变量:栈内存。
生命周期不一样
成员变量:随着对象的创建而存在,随着对象的消失而消失。
局部变量:随着方法的调用而存在,随着方法的调用完毕就消失。