创建类
使用class关键字创建/定义的都是类,class为定义类的关键字,一般一个文件当中只定义一个类(良好习惯)
类的访问权限修饰符只能使用public和默认,不可以使用protected和private
一般情况下来说,需求中的每一个名词(实体)都可以抽象出一个类,每一个动词都可以抽象出一个方法!!!
创建类: 修饰符 class 类名 { 代码..... }
创建对象
用类类型创建对象的过程,称为类的实例化,在java中可以通过new关键字,配合类名来实例化对象
写法:数据类型/类名 对象名(自己起) = new 类名(构造方法的参数);
属性的概念
属性也叫做成员变量,它是在类内方法外定义的
属性一般是基本数据类型,也可是引用类型(对象, 数组)
属性(成员变量)的作用域是其所属类的范围(也就是所属的类的{}花括号内)
属性(成员变量)的生命周期是:伴随着对象的创建而创建,伴随着对象的销毁而销毁
声明并初始化属性/成员变量: 修饰符 数据类型 变量名 = 值/对象地址(引用);
声明属性/成员变量: 修饰符 数据类型 变量名;
声明后初始化属性/成员变量: 变量名 = 值/对象地址(引用);
如果不进行初始化,如果是基本数据类型数据,默认值为基本数据类型对应的默认值,整型为字符0,浮点型为字符0.0,字符型为数字0,布尔型为false,如果是引用类型数据,默认值为null
非静态(非static)的成员变量在创建对象后没初始化才会进行赋予默认值,静态(static)的成员变量在类被加载到方法区之后没初始化就会进行赋予默认值
属性和局部变量可以重名,遵循就近原则
方法的概念
方法即是函数,在java或python这种面向对象语言中,定义在类中的函数叫做方法,本质上就是函数!!!
方法其实就是函数,在面向对象当中叫做方法,方法也叫做成员方法
在同一个类中,调用方法的方法可以写在被调用方法之下,也就是java中方法定义顺序对代码几乎没有影响
方法的作用:
能够模块化的组织代码(当代码规模比较复杂的时候)
做到代码被重复使用, 一份代码可以在多个位置使用
让代码更好理解更简单
直接调用现有方法开发, 不必重复造轮子
方法就是对象的方法(函数),方法也叫做成员方法
写法: 修饰符 返回值类型 方法名称(形参){ 代码...... }
一个方法最多有一个返回值,返回类型可以为任意类型, 包含基本类型或引用类型(数组, 对象)
java中,方法要是有返回值的话,方法的代码中最后一个执行语句必须为 return加返回值语句,而且要求返回值类型必须和 return 的值类型一致或兼容
如果方法是void,则方法体中可以没有return语句,或者只写return
修饰符:现阶段直接使用public static 固定搭配
返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成void
方法名字:采用小驼峰命名
参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开
方法必须写在类当中,方法不能嵌套定义,没有方法声明一说
通过对象调用/修改属性与方法
使用.点号来访问或修改对象中的属性和方法
如果需要的数据不在目前编写的类当中,而在另一个类中(跨类访问与调用),则需要通过创建对象来访问/得到我们需要的数据
如果需要的数据在目前编写的类当中,则可以直接使用属性,也可以使用 方法名(实参); 来调用方法
同一个类中的方法,可以直接调用 写法:方法名(实参);
通过对象得到属性写法:对象名.属性名
得到/返回的是属性的值/对象地址(引用地址)
通过对象调用方法写法:对象名.方法名()
执行被调用的方法
修改/初始化对象的属性写法: 对象名.属性名= 值/对象地址(引用地址)
修改或初始化了属性(成员变量)