Java实现扑克牌比大小---预备知识(构造方法,ArrayLi

2019-08-08  本文已影响0人  凌云struggle

一、预备知识

1. setter/getter方法

public private
公共的 私有的
外部可以直接访问这个属性或者方法 不希望外部访问这个对象的一些属性或方法
使用对象可以直接调用 只能间接使用
定义Poker类:
class Poker{
    private String number;
    private String color;


    //给外部提供一个set方法 通过这个方法间接给number赋值
    //可以对外部给的值进行控制
    public void setNumber(String number){
        this.number = number;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    //给外部提供一个get方法访问某个变量的值
    //封装内部实现
    public String getNumber(){
        return number;
    }

}


setter/getter方法的使用:
        //创建对象
        Poker poker = new Poker();
        poker.setNumber("jack");
        System.out.println(poker.getNumber());
image.png

2. 构造方法(在对象被创建时调用)

image.png
调用:
调用
输出结果:
输出结果

3. static的用法

实例方法/对象方法:必需创建一个对象才能调用的方法
类方法/静态方法:不需要创建对象 直接用这个类调用
静态属性:1. 定义一个常量 只能赋值一次  2.单例设计模式
class MyClass{
    public String name;
    public static String address;

    public void test(){
        System.out.println("这是对象方法");
    }

    public static void test2(){
        System.out.println("这是静态方法");
    }
}
class T2{
    public static void main(String[] args){
        //使用类的类的实例方法/对象方法
        MyClass c1 = new MyClass();
        c1.test();

        //使用类方法/静态方法
        MyClass.test2();

        //调用静态属性
        MyClass.address = "jack";
       
    }
}

什么情况下使用静态方法:

  1. 工厂设计模式Factory
  2. 当不需要记录数据的时候 只关心功能就可以使用静态方法
    注意:一个静态方法里面不能调用这个类的非静态属性和非静态方法

4. this的用法

1. 什么时候用this:需要明确指定调用的是这个对象自己的一些属性或者方法

2. this可以指创建的这个对象,也可以只调用这个方法的对象

image.png image.png

5. ArrayList(动态数组)的使用

增加元素到链表中

从链表中删除元素

获取链表中的元素

修改某个元素

搜索元素

检查链表是否为空

获取链表大小

6. 引用类型和基本数据类型的区别

7. 单例设计模式

(1)将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。

(2)在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型。

(3)定义一个静态方法返回这个唯一对象。

//饿汉模式
class Poker{
    //default,sharedInstance,manager
    //2.定义一个静态的成员变量 记录单例对象
    public static final Poker shared = new Poker();

    //1.私有化默认构造函数
    private Poker(){}

//3.  静态方法返回该实例
public static Poker getInstance() {
    return shared;
}

}

//懒汉模式
class Player{
    public int count = 0;
    //2.创建静态变量  这里没有final
    private static Player shared = null;

    //1.类的构造方法私有化
    private Player(){}

    //3.提供给外部一个访问方法
    public static  Player getInstance(){   //线程安全的懒汉模式
            if (shared == null) {
                //如果没有创建  那么就创建一个
                shared = new Player();
            }
      return shared;
    }

class Player{
    public int count = 0;
    //2.创建静态变量
    private static Player shared = null;

    //1.类的构造方法私有化
    private Player(){}

    //3.提供给外部一个访问方法
    public static  Player getInstance(){   //线程安全的懒汉模式
        Object b = new Object();
        synchronized (b) {
            if (shared == null) {
                //如果没有创建  那么就创建一个
                shared = new Player();
            }
        }
        return shared;
    }

二、心得体会

  demo的知识点主要就是这些了,想要知道怎么真正地与项目结合在一起,敬请期待接下来的更新!
上一篇 下一篇

猜你喜欢

热点阅读