给对象赋值的方法:
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方法,访问某个变量的值。
在外部set方法对number进行赋值
构造方法:创建一个类的对象的时候,就会被调用的方法(自定义)
每个类被创建后会默认提供一个构造方法,上面Poker类的默认构造方法为:
public Poker(){
}
使用构造方法情况:
b.在对象创建的时候,需要给属性赋值(都可以)
运行结果如下。从结果可以看出创建对象的同时就调用了构造方法,在构造方法内可以对变量赋值,但一般不这样做,而是通过自定义构造方法赋值
(2)自定义构造方法的定义
调用自定义构造方法并通过参数对变量赋初值
this的使用
上面自定义构造方法时,参数名和变量名相同,那么怎样通过参数对变量复制呢?这时就需要用到this,因为通常给一个属性赋值,形参名尽量和属性名一致,而变量在使用时有就近原则。因而使用this.来赋值。如上面:this.number = number;
this.color = color;
a.这里的this指的是:创建的这个对象pp2;
b.调用构造方法的时候,这个对象在内存里面已经分配好了内存空间,所以可以直接用this对属性进行赋值。
c.什么时候需要用this呢?当需要明确指定调用的是自己的一些属性和方法的时候.
3.方法重载:同一个类里面有多个同名的方法,但是返回值或者参数不同
例如public int NextInt();
public int NextInt(int i);
构造方法的重载 就是自定义写一个有参数的构造方法。