Java多种方法的使用

收获

通过今天的学习,了解了Java中getter方法/setter方法的使用,学习如何创建一个方法和方法重载的相关应用,this方法和变量作用域的相关概念。还做了一部分扑克的程序

setter/getter方法使用

为什么要用

大多数字段的访问都是通过Getter和Setter方法来间接访问,为什么不直接将字段设置为公开属性Public呢?答案在于前者的未来可能性。当我在Java语言编程中开始我的职业生涯时,我就对Getter和Setter感到困惑。为什么要这么写呢?为什么不直接用Public呢?这对我来说是个奇怪的语法。
我们知道Java具有封装性,比如,用户在将具有同种特性的数据或者方法聚集在一个了里面,需要时从里面调用即可。在封装时,具有public公有/private私有俩种情况。setter和getter方法正式为了解决这个问题。代码如下:

private修饰的变量无法被外部电泳和改变,听过setter/getter方法来给这个变量进行引用。
 public void setNumber(String num){
        number = num;
    }
    //给外部提供一个get方法 访问某个变量的值
    public String getNumber() {
        return number;
    }
    public String getColor() {
        return color;
    }
//某一个方法里面调用this指的是 调用这个方法的对象
    public void setColor(String color) {
        this.color = color;
    }

构造方法

构造方法,简单的概括就是,名字相同功能不同的方法

class Poker{
    //成员变量的作用域 从对象创建到对象被销毁
    private String number;
    private String color;
//类的默认构造方法
    public Poker(){
        number = "2";
        color = "♠";
        System.out.println("构造方法");
    }
    //构造方法的重载 自定义一个有参数的构造方法
    //通常给一个属性赋值 形参名尽量和属性名一致
    //变量在使用的时候有就近原则
public Poker(String num,String col){
        //调用构造方法的时候 这个对象在内存里面已经分配好了
number = num;
color = col;
    System.out.println("自定义的构造方法");
}

 Poker pp = new Poker();
    System.out.println(pp.getNumber());
    System.out.println(pp.getColor());

    Poker pp2 = new Poker("K","♥");
    System.out.println(pp2.getNumber());
    System.out.println(pp2.getColor());

    Poker pp3 = new Poker("K","♥");
    System.out.println(pp3.getNumber());
    System.out.println(pp3.getColor());

this方法

用来明确当前方法变量,解决与其它方法变量冲突的问题

public Poker(String number,String color){
        //调用构造方法的时候 这个对象在内存里面已经分配好了
this.number = number;
this.color = color;
    System.out.println("自定义的构造方法");
}

static/静态区

存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。
static修饰的对象和方法,会在程序运行时先开始初始化。

你可能感兴趣的:(Java多种方法的使用)