课堂笔记05.构造方法、this、方法重载、引用类型数组

复习:

类和对象:
    类:
        所有同种对象共同拥有的特征/行为,抽象出来成为类
    对象:
        符合类的特性并且真实存在的个体
            Student stu = new Student()
            实例化对象

类:
    成员变量
        基本数据类型:0
        引用数据类型:null
    成员方法


局部变量 和 成员变量的区别:
    1).声明位置
    2).初始值
    3).个数
    4).JVM内存中的区别
        //主方法中写:
        stu.car = new Car()
        Car car = new Car()

__________________________________________________
1.构造方法/构造器
    1)目的: 给成员变量初始化
    2)构造方法的定义:
        a.方法名和类名一致
        b.没有返回值类型
            注意: void也不行,表示没有返回值
        c.默认添加无参构造方法 
        d.如果自定义有参构造方法,不会再默认添加无参构造方法

2.this关键词
    1).this关键词,表示当前对象
    2).在构造方法中,this是可以调用自己的成员变量
        如果成员变量名和局部变量名,同名时
        必须使用this关键词来表示成员变量,不能省略
    3).在构造方法中,可以调用自己的成员方法
        this关键词可以省略
    4).this也可以调用自己的构造方法,this(参数),this不能省略
        注意:不能同时调用,会造成死循环,并且只能放在构造器的第一行使用

3.方法重载
    1)方法名一样,方法参数不一样的几个方法,称之为方法重载
    2)参数不一样的情况:
        a.个数不同
        b.类型不同
        c.顺序不同
        d.和参数名没有任何关系
    3).方法重载和返回值无关
    4).前提: 必须是在同一个类中才能造成方法的重载


4.数组和引用数据类型结合 - 引用类型数组
    1)数组定义方式
        a.静态赋值
            ps: Student s = {new Studnet(),new Studnet()};

        b.动态赋值
            ps. Student s = new Student[2];

    2)有可能出现的异常:
        NullPointerException - 空指针异常
        a.产生的原因:
            调用了空值的 成员变量 和 成员方法
        b.解决办法:
            调用前 new一个对象(实例化对象)

    3)引用类型数组的使用步骤:
        a.给数组初始化
            ps: Student s = new Student[2];

        b.给数组元素初始化
            ps: s[0] = new Student();
                s[1] = new Student();


断点测试:Debug
    F7:执行下一行代码
    F8:跳过这一行代码,如果是循环,跳过次循环
    F9:回到上一层代码
    Shift + F9: 调到下一个断点位置
    Ctrl + F2: 结束断点


Tetris:俄罗斯方块
cell:方块类
    成员变量:
        row: 行
        col: 列

    成员方法:
        下移/左移/右移/旋转
        画方块的方法(print)

---------------
---------------
--*------------
---------------
---------------
---------------


4个方块结合 -> 图形 -> 引用类型数组

(0,3)
(0,4)
(0,5)
(1,4)

row = 0 
col = 0
i = 0 -> cell[0] -> 0,0    画-
i = 1 -> cell[1] -> 0,0    画-
i = 2 -> cell[2] -> 0,0    画-
i = 3 -> cell[3] -> 0,0    画-

row = 0 
col = 1
i = 0 -> cell[0] -> 0,1    画-
i = 1 -> cell[1] -> 0,1    画-
i = 2 -> cell[2] -> 0,1    画-
i = 3 -> cell[3] -> 0,1    画-

row = 0 
col = 2
i = 0 -> cell[0] -> 0,2    画*
i = 1 -> cell[1] -> 0,2    画-
i = 2 -> cell[2] -> 0,2    画-
i = 3 -> cell[3] -> 0,2    画-

row = 0 
col = 3
i = 0 -> cell[0] -> 0,3    画*
i = 1 -> cell[1] -> 0,3    画-
i = 2 -> cell[2] -> 0,3    画-
i = 3 -> cell[3] -> 0,3    画-

row = 0 
col = 4
i = 0 -> cell[0] -> 0,4    画-
i = 1 -> cell[1] -> 0,4    画*
i = 2 -> cell[2] -> 0,4    画-
i = 3 -> cell[3] -> 0,4    画-

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值