编程思想
将大象装进冰箱: 这个事里面有两个对象,大象,冰箱 步骤 1.开门 2.放大象 3.关门
面向过程
只考虑事物的发展顺序 不考虑参与在事务中的对象 现在使用该思想的语言:c 汇编
面向对象
先考虑事务中存在哪些对象 然后再考虑事物的发展顺序 现在使用该思想的语言:java,JavaScript,Python,c#,Object C... 可以用来考虑生活中的任何事情
对象
万事万物皆对象: 所有客观存在的事务都是对象 代码中的对象:在代码中真实存在的事务
类
概念: 多个对象抽取其共同点形成的概念,称为类
类与对象的关系
生活中,先有对象,后有类 代码中,先有类,后有对象 一个类可以创建多个对象 多个对象可以属于同一个类
如何创建一个类
语法: 访问权限修饰符 class 类名{ } eg: public class Cat{ }
类中有什么
静态特征:属性 eg:年龄 颜色 重量 作用:为了描述对象的静态特征 语法: 访问权限是修饰符 数据类型 属性名; 访问权限修饰符暂时使用public 声明的位置: 类中,方法以外 别名:成员变量 动态特征(行为):方法 作用:描述对象的行为 语法 访问权限修饰符 修饰符 返回值类型 方法名(形参列表){ 方法体 } 访问权限修饰符暂时使用public 修饰符暂时不使用 定义的位置: 类中,方法以外 别名:函数 成员方法 成员函数 构造函数 作用:创建对象 语法: 访问权限修饰符 构造函数名(形参列表){ 方法体 } 注意: 1.构造函数名与类名一致(大小写都要一致) 2.通过new关键字调用 3.一个类中可以有多个构造函数 但是要构成重载
成员变量与局部变量
成员变量:属性
定义的位置:类中方法以外
有默认值:基本数据类型默认为0 引用数据类型默认为null
生命周期:随着对象的生成而生成 随着对象的销毁而销毁
可以使用访问权限修饰符
使用范围:整个类中
局部变量:
定义位置:类中 方法中 形参中
没有默认值
生命周期:随着方法调用而生成 随着方法的执行完毕而销毁
使用范围:声明的代码块中
不可以使用访问权限修饰符
局部变量可以与成员变量名称相同
当局部变量与成员变量名称相同时 默认使用局部变量
this关键字
含义:
谁调用this所在的方法 this就代表谁
作用:
1.当局部变量与成员变量(属性)重名是,用于区分成员变量还是局部变量
变量名:局部变量
this.变量名\成员变量
2.在方法中调用本类的属性或方法 此时的this可以忽略不写
3.调用其他本类构造函数
this(实参列表); //必须在构造函数的第一行 不能形成递归
如何创建对象
一个类可以创建多次对象 语法: 为了好记: 类名 对象名 = new 类名(实参列表); 专业 数据类型 对象名 = new 构造函数名(实参列表); 注意: 如果一个类中没有构造函数,系统将为其提供一个无参构造函数 如果一个类中有构造函数,那么系统将不会为其提供无参构造函数
如何使用对象调用属性或方法
属性相关:
获取
对象名.属性名
修改
对象名.属性名=值
方法名:
对象名.方法名(实参列表);
练习:
汤姆对杰瑞说,别让我抓住你
总结:
写类: 先属性,在构造,最后方法
环境类:先创建对象,在建立关系
对象的创建过程(了解)
数据类型 对象名 = new 构造函数名(实参列表);
步骤:
1,使用new关键字在堆内存开辟一片空间,用于存储该对象的属性与方法
2,给对象属性赋初始值,基本数据类型赋值为0,引用数据类型赋值为null
3,执行构造函数中的代码
4,将堆内存中的地址(步骤1中开辟的内存地址)赋值给栈的引用(对象名)