面向过程
按照事物的发展顺序,考虑问题
面向对象
事物中存在那些对象
在建立对象与对象的关系
对象
现实生活中的含义:真实存在的事物
代码中的对象:描述生活中的对象
类
现实生活中的含义:一个抽象的概念
代码中的类:对象的设计图
类与对象的关系
1,生活中:现有对象后有类
2,生产中与代码中,现有类后有对象
如何创建一个类
语法:
class 类名{
}
例子:
class Person{
}
class Dog{
}
class Mao{
}
类中有什么
class Person{
名字
性别
年龄
肤色
吃
喝
打游戏
}
属性
对象静态的事物
定义位置:类中方法以外
语法:数据类型 变量名;
注意:
1,类中属性,可以在当前类中任何一个位置使用
2,当局部变量名与属性名一致时,优先使用局部变量
方法
对象动态的事物
定义位置:类中方法以外
语法:
访问权限修饰符 修饰符 返回值类型 方法名(形参列表){
方法体
return 返回值;
}
访问权限修饰符:可以不写,有默认的
修饰符:可以不写
返回值类型:必须有,其中void表示返回值为空
方法名:小驼峰,做到见名知意,自定义的
形参列表:可有可无
return 返回值:可有可无
构造函数
语法:
访问权限修饰符 类名(形参列表){
}
作用:创建本类对象时调用
注意:
1,一个类中如果没有构造函数,系统会帮其生成一个无参构造函数
2,构造函数是一个特殊的方法
this
作用:
1,当局部变量名与属性名一致时,区分局部变量与属性
2,在当前类中调用,当前类的其他属性与方法,可以忽略this不写
3,调用本类的其他构造函数,注意不能使其形成死循环.必须在构造函数第一行书写
意义:
谁调用this所在的方法,this就代表谁
如何创建一个对象
语法:
数据类型 对象名 = new 类名(实参列表);
此处的数据类型就是创建的对象所属类的类名
如何使用对象调用属性或方法
属性
设置
对象名.属性名 = 值;
获取
对象名.属性名
方法
对象名.方法名(实参列表);
对象的创建过程
类名 对象名 = new 类名(实参列表);
步骤:
1,在堆内存中开辟空间
2,给属性赋初始值,基本数据类型默认给0,引用数据类型默认给null
3,执行构造函数中的代码
4,将堆内存的地址给栈内存中对象的引用