面向对象(构造器&this&static&block&debug)

构造器
    Java通过new关键字来调用构造器,从而
返回该类的实例,是一种特殊的方法。
        构造器4个要点:
1.构造器的方法名必须和类名一致!
构造器虽然有返回值,但是不能定义返回类型(返回值的类型肯定是本类),不能在构造器里调用
return。
2.通过new关键字调用!!
3.如果我们没有定义构造器,则系统会自动定义一个无参的构造方法。如果已定义则编译器不会添加无参数构造方法!
4.与普通方法一样,构造方法也可以重载
5.修饰符 final abstract static不能用来修饰构造器
        定义:
            修饰符 类名(参数){
                初始化信息代码;
            }


this关键字
     this指代当前new的对象
        作用:
1.在构造器的首行通过this(实参)调用本类中其他构造器,构造器不能相互调用
2.区分同名成员与局部变量问题
  . 默认会发生就近原则
  .可以通过this.调用成员,否则默认找局部
  . 如果不存在局部与成员同名问题,指代成员的this.可以省略
        注意:
1.this在构造器中使用,默认指代当前new的对象 2.在成员方法中的this,默认指代调用成员方法的对象
3.this不能使用在static方法中

static关键字(静态的)
    成员修饰符,可以修饰成员内容,不可以修饰局部
        在类中,用static声明的成员变量为静态成员变量 ,或者叫做: 类属性,类变量.
        用static声明的方法为静态方法
    注意:
        成员是属于对象的,需要跟随对象使用
        静态的是属于类的,可以随类名使用
        静态的使用注意 :
        成员方法中的this默认指代当前调用成员方法的对象
        成员方法中可以直接使用成员可以直接使用静态
        静态方法中可以直接使用静态内容需要通过对象使用成员
        在静态方法中不能使用this,因为冲突
    static修饰的成员变量与成员方法使用方式:
            1.对象.静态变量名
              对象.静态方法名(参数列表)
            2.类名.静态变量名
              类名.静态方法名(参数列表)
    成员 :
            被static修饰的--> 类的成员
                变量-> 静态变量|类变量
                方法-> 静态方法|类方法
            没有被static修饰 --> 实例成员
                变量-> 实例变量
                方法-> 实例方法
    1.静态内容是属于类的,在类第一次加载完成之后就初始化 ,初始顺序 : 先静态后成员
2.成员存在与对象的堆内存中,new对象了才开辟堆内存,才在对象的堆内存中存在成员                 3.静态变量会给加载到静态区中,每个类的静态变量只有一份
4.静态内容是当前类所有对象共享的,独一份的
5.成员内容是属于每一个对象的,有几个对象就存在几份

biock(块{})
    定义:在java中自成作用域
    {}定义在方法中|语句块中 : 局部代码块|普通语句块                 执行时机 : 跟随方法                          {}定义在类中方法外 : 构造块 |成员代码块                        执行时机 : 跟随new
static{}定义在类中方法外 : 静态块                             执行时机 : 类第一次加载
    注意 :
1..构造块中的代码先于构造器代码之前执行,因为在编译期间构造块代码会被编译到要执行的构造器内部,构造器代码之前
2.如果存在多个构造块,从上到下依次执行
3.静态块中的内容在类第一次加载完成之后就执行,并且只执行一次,先与main方法执行               4.如果存在多个静态块,从上到下依次执行
    执行顺序 : 静态块 --> main ---> 构造块  --> 构造器

debug(调试工具)
    作用 :
            1.追踪程序的执行流程
            2.定位异常问题出现的位置
            3.执行过程中方便观察变量的变化
            4.通过追踪程序的执行流程学习一些第三方框架的源码
     步骤 :
            1.设置断点
                debug模式运行的时候停在第一个断点位置,后续的执行有程序员手动控制
            2.debug模式运行
            3.
                Step over F8 : 下一步跳过|略过
                    如果下一步是方法的调用,直接略过,不跟随方法内部执行
                Step into F7 : 下一步如果是方法的调用,进入方法跟随一起执行
                    要求是自定义方法才会进入跟随,jdk提供方法不会进入
                Force Step into alt+shift+F7 : 强制进入,如果下一步是jdk方法的调用,进入跟随执行
                Step out shift+f8 : 跳出到方法调用的下一步
                Run to Cursor : 运行的到光标所在位置
 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值