目录
面向对象
面向对象和面向过程的区别:
面向过程:
当需要实现某个功能的时候,每一步都需要亲历亲为,注重的过程
面向对象:
当需要实现某个功能的实现,不关心具体的步骤,而是找一个已经具有该功能的人(对象),来帮我们完成(强调的对象)
类
是一组具有相同属性和行为的集合.
可以看成一类事物的模板,使用属性特征和行为特征来描述它。
属性
就是该事物的状态,特点
方法
就是该事物能够做什么
测试类
通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用
1.导包,也就是指出需要使用的类在什么位置
import 包名称.类名称
import cn.wdzl.Student;
对于和当前类属于同一个包的情况,可以省略导包语句不写
2.创建对象 格式
类名称 对象名=new 类名称();
Student stu=new Student();
3.使用
使用成员变量:
对象名.成员变量名
使用成员方法:
对象名.成员方法(参数列表)
注意事项:
如果成员变量没有进行赋值,则会有一个默认值,规则和数组的一样
对象
是一类事物的具体体现,对象是一个实例。【万物皆可对象】
对象的属性
类的实例化
实例化名.类属性1 = 要赋的值;
实例化名.类属性2 = 要赋的值;
对象的方法
实例化名.类方法();
类与对象
类就是对象的抽象化,对象就是类的实例化
类的定义格式:
public class ClassName{ //成员变量 属性 属性1数据类型 属性1; 属性2数据类型 属性2; …… //成员方法 行为/功能 }
/**
* 学生类
*/
public class Student {
//属性 特点
String name;//姓名
int age;//年龄
String gender;//性别
//行为
/**
* 学习的方法
*/
public void study(){
System.out.println(name+"同学,今年"+age+"了,正在学习java课程……");
}
}
注意
1.成员变量直接写在类中的,在方法外
2.成员方法不要写static关键字
局部变量与成员变量
1.定义的位置不同【重点】
局部变量:在方法内部
成员变量:在方法的外部,直接写在类中
2.作用范围不一样【重点】
局部变量:只有在方法中才可以使用,出了方法不能使用
成员变量:整个类中全部可以使用
3.默认值不一样【重点】
局部变量:没有默认值,如果想要使用,必须手动进行赋值
成员变量:如果没有赋值,会有默认值,规则和数组一样
4.内存位置不同【了解】
局部变量:位于栈内存
成员变量:位于堆内存
5.生命周期不同【了解】
局部变量:随着方法进栈而诞生,随着方法出栈消失
成员变量:随着对象创建诞生,随着对象被垃圾回收消失
注意:
1.在同一个方法中,不允许有同名局部变量,在不同的方法中,可以有同名的局部变量
2.在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级
public class Demo1VariableDifferent {
int num;//成员变量
public void method1(){
int num=10;//局部变量
String name="张三";
System.out.println(name);
System.out.println(num);//10
}
public void method2(){
String name="lisi";
// System.out.println(name);
System.out.println(num);
}
public void method3(){
System.out.println(num);
}
}
形式参数与实际参数
方法定义的时候的参数:形式参数,也叫形参(注意是约束参数的类型)
形参的名字可以随便取,但是要符合驼峰命名规范,同时要有意义
注意:
方法的调用处:参数叫做实际参数,也叫实参
实参的名字也可以随便取,也是要遵循规范,见名知义实参和形参的类型必须一致实参和形参的个数一定要一致