java-匿名对象(菜鸟教程)

匿名对象: 一次性
匿名对象是对象的一种简化形式
使用情况
1. 当对象方法只需要调用一次的时候 
2. 匿名对象调用属性没有意义
3. 匿名对象可以作为实参进行方法传递

一. this关键字       
    this是一个引用, 自动存在每一个方法中, 指向自己 "我"
    this表示当前对象的引用(谁正在调用包含this关键字的方法, 谁就是当前对象)
    1. 区分成员变量和局部变量

    this.成员变量
        任何属性或方法都必须通过引用访问
        如果在类的外部调用, 那么必须声明一个引用指向当前对象
        但是如果是在类的内部调用, 那么默认会使用this这个引用
        
    2. 执行本类中的方法
        a) 调用普通方法
        默认情况下本类方法前隐含了this关键字
        
        b) 调用构造方法(核心★★★★★)
        this()用于将同一个对象所拥有的多个构造方法链接起来形成【构造链】
        构造链注意事项:
        1. this()只能在构造方法中被调用, 并且必须在首行位置
        2. 避免递归的构造方法调用: 构造链中的所有构造方法永远只能被调用1次
        递归: 方法内部调用本身, 其实也是一种循环
        
二. static关键字(静态) 共享
    1. static定义属性
    问: static属性和非static属性有什么区别 ?
        a. static的属性可以用类或者对象调用, 非static属性必须用对象调用
        b. static的属性和非static的属性在内存中的位置不同
            static属性: 在静态区(专门存储共享资源)
            非static属性: 在堆内存中

    问 : 什么时候使用static属性 ? 
    当一个属性是整个类共享的, 是属于类的, 而不是属于某个对象的时候
    例如: 国家名 , 品牌 , 某个日期或时间 , 服务器当前状态 ...
                                        

    2. static定义方法
    如何定义静态方法: 
    
    关于static方法和非static方法的说明: 
        static的内容是先 生成(类加载的时候)
        而非static的内容是后 生成的(对象加载的时候)
        a. static方法不能访问非static属性或方法(静态不能访问非静态)
        b. 非static方法可以访问static属性或方法(非静态可以访问静态)
        加载顺序:
        1. 类加载
        2. 静态成员(带static关键字的属性,方法)  哥哥  姐姐
        3. 对象记载
        4. 非静态成员(不带static关键字的属性,方法) 弟弟  妹妹
        

    static关键字为什么会有这样的设定? 
        a. 非static的属性和方法, 只能待对象生成之后才能访问
        b. static的属性和方法, 不一定要由对象访问, 所以在访问static成员时
        对象可能还没生成, 既然对象都还没生成, 那非static的成员则无法访问
    
    什么时候用static方法?
    当类中没有属性或者很少, 那就没有必要声明对象, 只是想纯使用该类的方法而已
    那么这个类中的方法就可以全部使用static, 因为不需要声明一个对象去调用类中方法, 
    这种调用方式将变得非常轻松
    例如: java中的Math类 System类 Arrays类 ...

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值