美文网首页
JAVA------静态变量、静态方法、构造方法、this的用法

JAVA------静态变量、静态方法、构造方法、this的用法

作者: 26小瑜儿 | 来源:发表于2019-08-08 20:45 被阅读0次
    静态变量:

    1.静态变量也称为类变量 他是隶属于类的变量 不属于任何一个类的具体对象
    2.静态变量是一个公共的存储单元 不是保存在某个对象实例的内存空间中,而是保存在类的内存空间中的公共存储单元中
    3.类的任何一个对象去修改他的时候,也都是在对同一个内存单元做操作。
    静态变量的使用格式:
    类名.静态变量名;
    对象.名静态变量名;
    static: 修饰的方法和属性都会在对象创建之前优先加载。

    静态方法:
    image.png
    toString 用法:

    1.toString()方法在Object中定义的,其返回值类型为String类型,返回类名和他的引用地址:
    2.Demo如下


    image.png

    输出结果:


    image.png
    foreach循环:

    1.其功能是从a中取出一个元素,自动赋给变量a1,用户不用判断是否超出了数组的长度。需要注意的是 a1的类型必须与数组a中的元素的类型相同


    image.png

    输出结果:


    image.png
    什么时候要用到静态属性?

    1.定义一个常量 只能赋值一次
    2.单例设计模式

    构造方法
    class poker {
    
        public String number;
        public String color;
        // 可以对外部给的值进行控制
        public poker(){
    //        number ="2";
    //        color = "♠";
            System.out.println("构造方法");
        }
    
    //构造方法的重载  重新写一个有参数的构造方法
    //方法重载:同一个类里面有多个同名的方法但是返回值或者参数不同
    //自定义一个有参构造方法
    
        /**
         * 构造方法  /initWith
         * a.希望在对象创建的时候做点其他事情
         * b.在对象创建的时候 需要给属性赋值 自定义构造方法
         *创建一个类的对象的时候 就会被调用的方法
         * @param num
         * @param col
         */
    
    get 、set方法:
        public poker (String num,String col){
            number=num;
            color= col;
            System.out.println("自定义的构造方法");
        }
         public boolean bigerThen(String number){
                return true;
            }
            public void t1(int...ages){
    
            }
        public  void setNumber (String num){
    
            number =num;
        }
        //给外部提供一个get方法  访问某个变量的值
        public String getNumber(){
            return number;
        }
    
        public void setColor(String color) {
            this.color = color;
        }
    
        public String getColor() {
            return color;
        }
    
    
    }
    public class Test {
        public static void main (String []args){
            poker p=new poker();
            p.setNumber("Jacker");
            System.out.println(p.getNumber());
            System.out.println(p.getColor());
            /*
            每个类会提供一个默认的构造方法
    
    
             */
            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

    image.png
    image.png
    image.png
    image.png

    感悟:
    今天学的东西好多,知识点也碎,扑克牌游戏自己虽说自己编写出来了,但还是有些bug没处理好 ,而且编写的程序也还是停留在C语言的面向过程的阶段,向JAVA的这种面向对象的编写程序的阶段还适应不了,思维总是跳转不过来,所以我又去翻书,继续温习JAVA种面向对象的知识,今后要把JAVA的封装、多态、继承搞的清楚明白。

    相关文章

      网友评论

          本文标题:JAVA------静态变量、静态方法、构造方法、this的用法

          本文链接:https://www.haomeiwen.com/subject/pzendctx.html