`
这些年
  • 浏览: 391066 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

复用类

 
阅读更多

1:组合

       即将对象引用 置于新类中

2:继承

       当创建一个类时,总是在继承,它们对Object继承

       为了继承一般都把所有的成员指定为private,将所有方法指定为public

    继承的初始化:

              继承并不只是复制基类的接口,当创建一个导出类对象时,该对象已经包含一个基类对象,被包装在导出类对象内部

super(int i);  //初始化带宽参数的构造方法,放在其它构造方法的第一行

 3:代理

         在类内部创建私有对象(是它的类成员变量)

         通过方法调用持有对象的方法

4:名称屏蔽

       子类中可以重载父类中的方法

        @Override表示方法不能重载

5:protected关键字

        表明,就类用户而言,它是pviate,但对于子类它又是包访问权限 

6:向上转型

        子类是父类的一个超集,它可以含有比基类更多的方法,所以是安全的

     组合与继承的取舍

               使用继承最有力的判断是,需不需要从子类向父类转型

7:final关键字

           可用范围:数据,方法,类

                  1)数据:

                        在java中,类常量必须是基本类型,并且以关键字final表示,定义时必须进行赋值(不是初始                         化 ,可以在运行时赋值),

一个即是static又是final的域只占一段不能改变的存储空间
对于引用是final的,表示引用不可变,但引用的对象自身可变     //引用不能再次指定新一对象

                         空白final:可以不对final类成员初始化;

final域初始化的位置 写道
1:创建时就初始化
2:在构造方法中初始化

                          final参数(方法中的参数是final的):你无法在方法中更改参数引用所指向的对象

                     2)方法:                       

使用final方法的原因 写道
1:防止任何继承类修改它,并且不会被覆盖             //现在只考虑这个
2:效率(内嵌调用,消除方法调用开销)

                      类中所有private方法都隐式指定为final的

                   3)类:

                      final类禁止继承。

            忠告:将方法指明为final,是明智的(防止其它人覆盖你的方法)

8:初始化及类加载

        每个类的编译代码都存在于它自己的独立文件中,该文件只在需要使用程序代码时才会被加载,定义为static的代码只会加载一次

        继承与初始化:

                1):加载main类

                 2):有父类则加载父类(父类还有父类,就加载父类的父类)

                 3):先加载父类的static方法,在加载子类的static

                 4):初始化所有基本类型字段与引用 

                 5):调用父类构造方法,调用子类构造方法

                 6):其它

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics