美文网首页
DAY9Java语言入门基础教学3

DAY9Java语言入门基础教学3

作者: 辞cccc | 来源:发表于2019-08-08 17:48 被阅读0次

给对象赋值的方式

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

p.number = "A";

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

1. setter/getter方法

建议将 setter/getter方法定义在类的最后面避免干扰阅读

给外部提供一个set方法 通过这个方法间接给number赋值

public void setNumber(String num){
    number = num;
}

给外部提供一个get方法 访问某个变量的值

public String getNumber(){
    return "jack";
}

2. 构造方法/initWith

什么时候使用?

a.希望在对象创建时做点事情
b.在对象创建时 需要给属性赋值

创建一个类的一个对象的时候 就会被调用的方法

每个类会默认提供一个构造方法

  • public Poker(){}
    不写void
    构造方法的重载 自定义一个有参数的构造方法
    方法重载 同一个类里面有多个同名的方法 但是返回值或者参数不同
  • public Poker(String num,String col){}
    调用构造方法的时候 这个对象在内存里面已经分配好了
    通常给一个属性赋值 形参名尽量和属性名一致
    变量在使用的时候有就近原则
    成员变量的作用域 从对象创建到对象被销毁

THIS

某一个方法里面调用this指的是

  1. 在构造方法指创造的这个对象
  2. 在其他地方指调用这个方法的对象

什么时候需要用this

需要明确指定调用的是这个对象自己的一些属性和方法

static

修饰的属性和方法都会在对象创建之前优先加载
属性 静态属性
方法 静态方法
方法分为 实例方法/对象方法 必须创建某一个对象 才能调用的方法
类方法/静态方法 不需要创建对象 直接用这个类来调用

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

什么情况需要些静态方法

  1. 工厂设计模式Factory
  2. 当不需要记录数据 只关心功能
  3. 静态方法里面不能调用这个类的非静态属性和非静态方法

什么情况需要静态属性?

1.定义一个常量
2.单例设计模式

体会

本来有点迷迷糊糊的 在写纸牌游戏的时候有种顿悟的感觉,可能这就是只可意会不可言传(?)

相关文章

网友评论

      本文标题:DAY9Java语言入门基础教学3

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