java中构造方法,set/get方法,方法重载使用解读

给对象赋值的方法:

1.对于public修饰的属性,对象可以在外部直接调用。

定义一个类class Poker{
public String num;
private String number;
private String color;
}
类里面成员变量作用域:是从对象创建到对象被销毁
创建一个类 Poker p = new Poker();
可以直接调用这个类的num属性:p.num = 'A';

2.对于private修饰的方法,不能直接在这个类外部调用,只能间接使用
setter/getter方法

(1)在这个类里面先定义它的set和get方法,方便外部的对private修饰的变量进行赋值和调用。给外部提供一个set方法,通过这个方法间接给number赋值,可以对外部给的值进行控制。给外部提供一个get方法,访问某个变量的值。

(2)建议将setter/getter方法定义在类的最后面 避免干扰
定义number的set和get方法.png

在外部set方法对number进行赋值
调用set方法对number赋值.png
构造方法:创建一个类的对象的时候,就会被调用的方法(自定义)

每个类被创建后会默认提供一个构造方法,上面Poker类的默认构造方法为:
public Poker(){
}
使用构造方法情况:

a.希望在对象创建的时候,需要做一点其他事情。可以定义该类的默认构造方法
Poker类的默认构造方法.png

b.在对象创建的时候,需要给属性赋值(都可以)

(1)对象在创建时会默认调用它的构造方法
调用默认构造方法.png

运行结果如下。从结果可以看出创建对象的同时就调用了构造方法,在构造方法内可以对变量赋值,但一般不这样做,而是通过自定义构造方法赋值
打印结果.png

(2)自定义构造方法的定义
自定义构造方法.png

调用自定义构造方法并通过参数对变量赋初值
QQ截图20190807125631.png
this的使用

上面自定义构造方法时,参数名和变量名相同,那么怎样通过参数对变量复制呢?这时就需要用到this,因为通常给一个属性赋值,形参名尽量和属性名一致,而变量在使用时有就近原则。因而使用this.来赋值。如上面:this.number = number;
this.color = color;
a.这里的this指的是:创建的这个对象pp2;
b.调用构造方法的时候,这个对象在内存里面已经分配好了内存空间,所以可以直接用this对属性进行赋值。
c.什么时候需要用this呢?当需要明确指定调用的是自己的一些属性和方法的时候.

d.某一个方法里面调用this指的是,调用这个方法的对象
QQ截图2.png
3.方法重载:同一个类里面有多个同名的方法,但是返回值或者参数不同

例如public int NextInt();
public int NextInt(int i);
构造方法的重载 就是自定义写一个有参数的构造方法。

你可能感兴趣的:(java中构造方法,set/get方法,方法重载使用解读)