java-基础-面向对象

构造方法

//学生类

public class Student {

//属性

String name;

int age;

String sex;

//系统默认的无参构造方法,写和不写他都是存在的

public Student() {

}

//有参构造方法,创建对象的时候就已经给了初始值了

public Student(String name, int age, String sex) {

this.name = name;

this.age = age;

this.sex = sex;

}

作用:创建对象,初始化对象

特点:

1、无参构造方法,与类同名,不含返回类型。如果类中没有显示的构造方法,系统会给出默认的无参构造方法。

2、构造方法一般都是public的,才能被系统调用。

3、无参构造在给对象属性赋值时比较麻烦,可以定义有参的构造方法。

当成员变量(属性)和方法参数同名时,一般使用this表示当前对象,如:this.name = name;

  1. 构造方法经常用于程序初始化工作,例如:人出生要“洗澡”,就可以在人的构造方法时加入完成“洗澡”的程序代码,程序就不必每个人出时一个一个地告诉他们要“洗澡”了。
  2. 当类有了带参构造方法之后,系统不再自动生成默认的无参构造方法,若使用需重新定义

要求:如果一个类中有带参数的构造方法时,必须要定义无参的构造方法

6、构造方法只能用于创建对象时,不能在程序中像调用其他方法一样调用它,但是可以用this()的形式在其他构造方法中调用它,注意this()必须在第一行。

构造方法和普通方法的区别:

构造方法访问修饰符一般是public, 一般方法根据实际情况选择修饰符

构造方法没有返回值类型,一般方法要么无返回值-void,要么有返回值

方法名与类同名,一般方法见名思意,遵循驼峰命名规则

构造方法的方法体是对象的初始化代码,一般方法是功能的实现

调用方式不一致,普通方法需要使用对象来调用,构造方法是new, this, super

方法重载:overload

为什么会有方法的重载?

在同一个类中有一些方法的功能相同,仅仅是参数列表不一样,此时如果去定义不同的方法名很麻烦。

于是规定,方法名可以一样,但是参数列表必须不一样。所以就有了方法的重载。

方法重载的判断标准:同类同名不同参,与其他无关。(不同参:不同的参数列表:个数不同,类型不同,顺序不同)

如:构造方法,Arrays的很多方法都是重载的。

成员变量与局部变量  

成员变量是属于类的变量,其实就是类中的属性,类中的每一个方法都可以共享;

局部变量就是定义在某个方法中的变量,只能在定义的方法中访问,其他的方法不能共享;

成员变量和局部变量区别:

1:定义位置不同

成员变量:定义在类中的变量,属于类

局部变量:定义在方法中的变量,属于方法

2:作用域不同

成员变量:属于类,类中的每一个方法都可以使用

局部变量:属于方法,只能在某一个方法中使用

3:初始值不同

成员变量:有默认的初始值,在加载类的时候,就会给成员变量赋值(默认值)

局部变量:没有初始值,必须初始化之后才可以使用

4:生命周期不同

成员变量:属于类,随着对象的创建而创建,随对象的消失而消失- 垃圾回收器

局部变量:属于方法,随着方法的调用而创建

注意:

1:在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级

2:在方法的参数列表中的参数,也是局部变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值