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

2019-08-07  本文已影响0人  榆野铃爱

心得感悟

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


1. 目的

2. 内容简概

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("自定义的构造方法");
    }
 //变量在使用的时候有就近原则
 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关键字进行区分,方法类型说明符前有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";  //调用静态属性

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

结构分析
上一篇下一篇

猜你喜欢

热点阅读