黑马程序员技术交流社区

标题: java基础知识---面向对象(二) [打印本页]

作者: LiuYongqiang    时间: 2016-4-20 00:27
标题: java基础知识---面向对象(二)
本帖最后由 LiuYongqiang 于 2016-4-20 00:38 编辑

java基础知识---面向对象(二)
1static特点?
  1、随着类的加载而加载。
  2、优先于对象存在。
  3、资源共享。
                        解释:被static修饰的内容,能被该类下所有的对象所共享。
                        问:什么时候使用静态?
                                当一个内容,是被该类下所有的对象 所共享的时候,就可以考虑使用静态。
                                总结:共性用静态,特性用非静态。
                4、静态内容可以通过 类名. 的形式调用(推荐),
                   也可以通过 对象名. 的形式调用。
                注意事项:
  1、静态方法中是没有this关键字的。
  2、静态方法只能(直接)访问静态成员变量和静态成员方法。
                   总结:静态只能直接访问静态。
                             静态方法如果想使用非静态的内容,必须先创建对象,然后才能使用。
  2.给成员变量赋值两种方法 的特点
  构造方法:主要作用是用来创建对象的,赋值只是一个捎带的动作。
  set方法:只能用来赋值。
  3.静态方法没有this.why?
  没有,因为静态方法是随着类的加载而加载,优先于对象存在.
  4.生成1-100间的随机数(两种)
  ( int)(Math.random()*100) + 1
  Random r=new Random();
  int x=r.nextInt(100)+1;宝座不包右所以+1
  5.代码块分类?
  局部代码块:
  定义在局部位置,作用是让变量尽可能早的从内存中消失,节约内存,提高效率。
构造代码块:
定义在成员位置。
作用:
                                里边存储的是所有构造方法的共性内容,因为它是优先于构造方法执行的,从而来提高代码的复用性和编写效率。
静态代码块:
                        被static修饰的代码块。
                        作用:一般是用来加载驱动的,因为它是随着类的加载而执行。
                        特点:静态代码块只执行一次(类文件只加载一次的情况下)。
                同步代码块:(多线程的时候讲)
                        被synchronized修饰的代码块。
6.代码块的面试问题(执行顺序)
        父类静态代码块,子类静态代码块,父类构造代码块,父类构造方法,子类构造代码块,子类构造方法
7.继承的好处?
        A:复用性。
        B:维护性。
        C: 让类与类之间产生关系,是多态的前提。
8.高内聚,低耦合?
        耦合:类与类之间的关系。
        内聚:类自己独立处理问题的能力。
9.继承特点:类与类;类与接口
        类与类:继承。可以单继承,不能多继承,但是可以多层继承。
        类与接口:实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时,实现多个接口。
        接口与接口:继承。可以单继承,也可以多继承。
10.看顶层用底层
11.使用局部变量遵循的原则?
        使用变量遵循一个“就近原则”。局部位置有就使用,没有就去本类的成员位置找,有就使用;没有就去父类的成员位置找,有就使用,没有就报错.
12.子类所有的构造方法默认都去访问了父类的 无参构造。为什么?(构造方法的第一句都是super)
        用于子类对象访问父类数据前,对父类数据进行初始化。
13.继承中的构造关系
        第一次:父静,子静,父类的构造代码块,父类的构造方法,子类的构造代码块,子类的构造方法。
        第二次:父类的构造代码块,父类的构造方法,子类的构造代码块,子类的构造方法。
14.final,finally,finalize区别
   final    修饰类:不能被继承,但是可以继承其他类。
                    修饰变量:其实是一个常量。
                        一般和public static共用。
                        问:public static final 他们三者之间有无顺序关系?
                                没有顺序关系,但是一般写成:public static final
                修饰方法:不能被子类重写。
        finally: 关键字:                
                                        特点:
                                                被finally修饰的内容,一定会执行。
                                                特殊情况:还没有执行到finally的时候,JVM已经退出了。
                                        作用:
                                                一般是用来释放资源的。
        finalize:是一个方法,当对象不存在时,有gc来调用对象的垃圾回收机制.






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2