4. 基于自动化–Java面向对象之构造函数
一、面向对象
类描述的是具有共性的一类事物,定义了此类事物的特点和功能,对应类型的对象旧具备了这些特点和功能。面向对象编程的意思就是要完成某件事情,直接调用这个对象的相应功能旧可以了
二、类、对象
类:模板,描述的是具有共性的一类事物,这类事物包含静止的属性(变量)和动态的行为(函数),类是抽象的概念
对象:类的具体具象
三、函数
概念:遵循特定语法,具有特定功能的一段代码,描述的是类的行为
分类:构造函数和非构造函数(普通函数)
1.普通函数
语法:修饰符 + 函数返回值类型 + 函数名(参数类型 参数名 …){函数体}
例如:public int add(int a,int b){return a+b;}
注意:
修饰符:分类public、protected、default、private,从左向右权限逐步降低
函数返回值类型:八大基本数据类型、引用类型、空类型(void)
函数名:见名知意即可,语法要求第一个字母小写
参数类型:八大基本数据类型、引用类型
public class Mobile { private String brand; private int price; public void sendMessage(String name){ System.out.println(name+"你在家吗,我周末可不可以去你家玩"); } public String getMobileInfo(){ return "手机品牌:" + brand + ".手机价格:" + price; } }
2.构造函数:用来构造对象的函数
构造函数分类:无参构造函数、带参构造函数
语法:修饰符 + 函数名(参数类型 参数名…){}
注意:不需要显示声明函数返回值;函数名必须跟类名保持一致
//无参构造函数:创建一个最原始的对象 public Mobile(){} //带参构造函数:初始化对象 public Mobile(String brand,int price){ this.brand = brand; this.price = price; }
3.函数调用方式
构造函数调用:通常是用于创建对象初始化时,类名 对象名 = new 类名(value,value2,…);
普通函数:需要用到对象来调用,(对象.函数名)
注意:
无参构造函数创建的对象,所有属性值都是它的属性对应类型的默认值
当类没有显示声明构造函数,编译器默认会定义无参构造函数;若类定义了带参构造函数,则会覆盖默认的无参构造函数
传参:需要与定义的带参构造函数参数类型与个数一致
返回值:返回值类型要一致
用return返回数据,若函数无返回值,则不需要return语句
四、函数重载
函数名称一样
参数列表不一样:参数个数不一样;参数类型不一样
五、Java内存分析
方法区:存放类的信息(代码)、static变量、常量池(字符串常用)等
栈内存:存放局部变量
堆内存:存放new出来的对象