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