DAY9Java语言入门基础教学3

给对象赋值的方式

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.单例设计模式

体会

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 7,988评论 2 9
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,851评论 1 32
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 7,059评论 0 4
  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 5,429评论 0 6
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 5,803评论 0 10