美文网首页
【Java学习】对象的赋值方法|方法的重载|setter/get

【Java学习】对象的赋值方法|方法的重载|setter/get

作者: 榆野铃爱 | 来源:发表于2019-08-07 23:50 被阅读0次

    心得感悟

    学习的第三天,我终于对Java的各种方法、类和对象有了点感觉,好像可以理解一点了,这也得益于今天文案教学后有一段代码实例。有些困难的确是不经历时是困难,经历了就不是困难了。因为自己面对时,硬着头皮也要上,就会想出各种方法区解决。这个扑克游戏对目前的我来说还是比较困难的,不过慢慢分析应该能有所收获。


    1. 目的

    • 一、继续掌握Java的一些基本方法的使用
    • 二、扑克牌游戏结构分析

    2. 内容简概

    • 一、了解对象的赋值方法
    • 二、了解构造方法
    • 三、了解方法的重载
    • 四、了解this的用法
    • 五、了解static的用法
    • 六、扑克牌游戏结构分析

    3. 具体内容

    • 一、了解对象的赋值方法

    1. 对于public修饰的属性,要使用对象可以直接调用

    p.number = 'A';
    

    2. 对于private修饰属性,不能直接调用,只能间接使用

    • setter方法
      给外部提供一个set方法,通过这个方法间接给number赋值,可以对外部的值进行控制
    • 构造方法(initWith)
      创建一个类的一个对象时 就会被调用的方法
       private String number;
       public void setNumber(String num){ 
             if(num.length < 3 ){
                   number = num; 
             }
       }
    
    • getter方法
      给外部提供一个get方法 访问某个变量的值
       //给外部提供一个get方法 访问某个变量的值
       public String getNumber(){return number;}
    

    间接赋值

        Poker p= new Poker();
        p.setNumber("jacker");    //间接赋值
    

    快捷键添加set/get方法

    1.点击蓝色方块处或按快捷键Alt+Insert
    2.选择添加哪一个(set/get/二者都要)
    3.选择为谁添加(private对象)
    4.添加成功
    • 二、了解构造方法
    • 构造方法(initWith)
      创建一个类的一个对象时 就会被调用的方法
    • 什么时候使用?
      a.希望在对象创建的时候 做点其他事情
      b.在对象创建的时候,需要给属性赋值,自定义构造方法
            //类的默认构造方法
            public Poker(){
            System.out.println("构造方法");
        }
            Poker pp = new Poker(); //创建类的对象
    
    • 三、了解方法的重载

    方法重载:同一个类里面有多个同名方法 但是返回值或参数不同,如:

    public int nextInt();
    public int nextInt(int i);
    
        public Poker(){
            System.out.println("构造方法");
        }
    
        //构造方法的重载 自定义一个有参数的构造方法
        public Poker(String number,String color){
            System.out.println("自定义的构造方法");
        }
    
    • 四、了解this的用法
     //变量在使用的时候有就近原则
     public Poker(String number,String color){
            //调用构造方法的时候 这个对象在内存里面已经分配好了
    
            //这里的This指的是 创建的这个对象
            this.number = number;
            this.color = color;
            System.out.println("自定义的构造方法");
    }
    //某一个方法里面调用this指的是 调用这个方法的对象
    public void setColor(String color) {
            this.color = color;
    }
    
    • 什么时候用this?
      需要明确指定调用的是这个对象自己的一些属性和方法
    public void t1(int...ages){
            bigerThen(null);
            //或 this.bigerThen(null);
        }
    
    • 五、了解static的用法

    static修饰的属性和方法都会在对象创建之前优先加载
    修饰的属性称为静态属性
    修饰的方法称为静态方法

    • 方法种类
      实例方法/对象方法:必须创建某一个对象才能调用的方法
      类方法/静态方法:不需要创建对象,直接用这个类来调用
    • 通过static关键字进行区分,方法类型说明符前有satic关键字的为类方法,无关键字的为实例方法
    public void test(){
            System.out.println("这是对象方法");
        }
    
        public static void test2(){
            System.out.println("这是静态方法");
        }
    

    如何使用实例方法和类方法

    public String name;
    public static String addr;
    class T2{
        public static void main(String[] args){
            //使用类的实例方法/对象方法
            MyClass c1 = new MyClass();
            c1.test();
    
            //使用类方法/静态方法
            MyClass.test2();
    
    //注意静态方法里面不能调用这个类的属性和非静态方法
    public void test(){
            System.out.println("这是对象方法");
        }
    
        public static void test2(){
            System.out.println("这是静态方法");
            test();//不能调用
            name = "Jack"; //不能调用
            MyClass.addr = "jack";  //调用静态属性
        }
    }
    
    • 什么时候需要写静态方法?
      a.工厂设计模式Factory
      b.当不需要记录数据 只关心功能 就可以使用静态方法
    • 静态属性:
      1.定义一个常量 只能赋值一次
      2.单例设计模式
    MyClass.addr = "jack";  //调用静态属性
    
    • 六、扑克牌游戏结构分析

    详细的分析和过程我将写在下一篇文章中

    结构分析

    相关文章

      网友评论

          本文标题:【Java学习】对象的赋值方法|方法的重载|setter/get

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