Java Day3

类 对象 构造方法

目的

巩固java基础知识,弄懂为何要创建对象,并且如何通过对象来实现各种功能。会使用构造函数,在创建对象时为对象赋值。

技术

类:抽象 不实际存在 没内存
对象: 某个类的具体体现 有内存

属性:存值
方法:功能

public 公共的 外部可以直接访问这个属性/方法
private 私有的 不希望外部访问这个对象的一些属性和方法

给对象赋值的方式
1.对于public修饰的属性 使用对象直接调用
p.number = 'A';
2.对于private修饰的属性 不能直接调用 只能间接使用
setter/getter方法
建议将setter/getter方法定义在类的最后面 避免干扰阅读

构造方法
a.希望在对象创建的时候做点其他事情
b.在对象创建的时候 需要给属性赋值 自定义构造方法
创建一个类的一个对象的时候 就会被调用的方法

方法重载:同一个类里面有多个同名的方法 但是返回值或者参数不同
static
修饰的属性和方法都会在对象创建之前优先加载
属性 静态属性
方法 静态方法

实例方法/对象方法 :必须创建一个对象才能调用的方法
类方法/静态方法 :不需要创建对象 直接用这个类来调用

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

技术运用

setter/getter方法给对象赋值

 //给外部提供一个set方法 通过这个方法间接给number赋值
    public void setNumber(String num){
        number = num;       //可以对外部给的值进行控制
    }
    //给外部一个get方法 访问某个变量的值
    public String getNumber(){
        return number;
    }

    public String getColor() {
        return color;
    }

构造方法赋值

class Poker{
    //成员变量的作用域 从对象创建到对象被销毁
    private String number;
    private String color;
//类的默认构造方法
    public Poker(){
//        number = "A";
//        color = "♥";
        System.out.println("构造方法");
    }
    //构造方法的重载 重新写一个有参数的构造方法
    //通常给一个属性赋值 形参名尽量个属性名一致
    //变量在使用的时候有就近原则
    public Poker(String number, String color){
        //调用构造方法的时候 这个对象在内存里面已经分配好了
        //这里的this指的是创建的对象
        this.number = number;
        this.color = color;
        System.out.println("自定义的构造方法");
    }

静态方法和实例方法

 public static String addr;

    public void test(){
        System.out.println("这是对象方法");
    }
    public static void test2(){
        System.out.println("这是静态方法");
    }
  //使用类的实例方法/对象方法
        MyClass c1 = new MyClass();
        c1.test();

        //使用类方法/静态方法
        MyClass.test2();
        //调用静态属性
        MyClass.addr = "";

心得

今天上午学习的时候感觉状态还挺不错的,但是当下午开始真正写demo的时候感觉好难,也不太能跟上节奏。不过我也有些心理准备,在昨晚我自己写这个demo的时候也是无法下手,原本是想今天好好听的,结果打足了精神还是没能跟上,看来自己手速还是不行啊。下次准备先好好听,听完了再写应该会好点。

你可能感兴趣的:(Java Day3)