★★★易忘点总结〖面向对象〗

来源:互联网 发布:怎么修改淘宝店铺网址 编辑:程序博客网 时间:2024/06/08 07:20

★1.面向对象的三个特征:
封装,将变化隔离,便于使用,提高重用性和安全性
继承
多态

2.static:修饰符,用来修饰变量或函数
 ★★static的特点:
    1.随着类的存在还存在,随着类的消失而消失。
    2. 优先于对象存在
    3. 被所有对象所共享
    4.别的类可以通过  类名. XX  的方式来调用
static注意事项
    1.静态访问静态
    2.不能有this super
    3.主函数是静态
static 有利有弊
    好处:对对象共享的数据单独存放,节省空间,可以被其它类调用 
    坏处:生命周期太长,不能访问非静态


★3.实例变量(成员变量)与类变量(静态变量)的区别 
1. 在内存中存放的位置不同:实例变量存于堆内存中,而静态变量存于方法区
2.生命周期不同,类变量与类共存亡,就是类一加载类变量就存在,而实例变量随着对象的消失而消失

★★★4懒汉式与饿汉式的区别?
       1. 懒汉式先创建空对象,到调用getobject方法时才在内存中开辟空间,延时加载,而饿汉式一旦加载类时,对象就存在。
        2.懒汉式存在安全问题,在多线程 中的懒汉式可以会存在多个对象,如果加上锁,则会使运行速度变慢。
★5.覆盖的两个特点:
    1.子类的权限要大于等于父类的权限才能覆盖
    2.静态只能覆盖静态
★6.final
    1.final修饰的方法不能被覆盖,
    2.final 修饰的类不能被继承
    3.final修饰的变量为常量。
    4.内部类只能访问被final修饰的局部变量
★抽象类的特点:
1:抽象方法只能定义在抽象类中,抽象类和抽象方法必须由abstract关键字修饰(可以描述类和方法,不可以描述变量)。
2:抽象方法只定义方法声明,并不定义方法实现。
3:抽象类不可以被创建对象(实例化)。
4:只有通过子类继承抽象类并覆盖了抽象类中的所有抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类。
5: 抽象类只能单继承。
    
★★7.多态表现
            父类的引用指向了子类对象,父类的引用也可以接收子类对象
 多态的好处:大大的提高了扩展性,弊端:只能使用父类的引用来访问父类成
 多态的前题:存在继承和实现,通常还要存在覆盖
 多态中函数的特点
            非静态:编译看左边,运行看右边 
             静态:都看左边。
多态中变量:看左边  
8.内部类,访问规则
      
                1.内部类可以直接访问外部类成员,包括私有
                2.外部类要访问内部类成员,必须先创建内部类对象
        
                 Outer.Inner in =new Outer().new Inner
  内部类在局部时
                1.不能让成员修饰符修饰
                2.只能访问被final修饰的局部变量
                调用时要先在内部类所在方法里创建对象

★★9.throw 与throws的区别
        1.throw在方法内使用,throws在方法上使用
        2.throws后面跟着多个异常类,用,隔开,throw后面跟的是异常对象

10.RuntimeException异常
        如果函数内抛出此异常,函数上就不用声明
        如果函数内抛出此异常,调用都不用处理
       不可处理或不需处理时用RuntimeException

0 0