A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhangzhiyao 中级黑马   /  2015-8-30 21:22  /  668 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代码块:
        概述:
        分类:
                局部代码块:
                        方法中。
                        让变量尽可能早的从内存中释放,调高效率。
                构造代码块:
                        类中,方法外。
                        一般它里边存储的都是多个构造方法的同性内容,每次执行构造方法前都会执行。
                        并且是优先于构造方法执行的。
                静态代码块:
                        定义在类中,方法外,用static修饰。
                        类文件(.class字节码文件)加载一次的情况下,静态代码块只执行一次。
                        静态代码块是优先于main方法执行的。(静态代码块和main方法在同一个类中)
                        对类进行初始化,一般是用来加载驱动的。
                同步代码块:synchronized

        class Student{
                //成员变量
                //静态代码块
                //构造代码块
                //构造方法
                //set,get
                //成员方法
        }


继承:
        概述:让类与类之间产生一个关系(子父类关系),通过extends。
        class A extends B{
       
        }
        叫法:
                类A:子类,派生类
                类B:父类,基类,超类

        继承的好处和缺点:
                好处:
                        1、复用性。
                        2、维护性。
                        3、类与类之间产生关系,是多态的前提。
                弊端:
                        耦合性增强了。
                开发原则:高内聚,低耦合。
        Java中类的继承的特点:
                1、Java中只支持单继承,不支持多继承。
                2、Java支持多层继承。
        如何学习(使用)一个继承体系:
                看顶层,用底层。
                顶层:因为顶层的类封装的都是整个继承体系的一些同性内容。
                底层:顶层才是具体的实现类。

        什么时候使用继承?
                因为继承体现的是一个“is a”的关系,所以我可以采用假设法,
                比如说:类A是类B的一种,或者说:类B是类A的一种。
                前者:类A是子类,后者,类B是子类。

        使用继承的时候有哪些注意事项?
                1、子类只能继承父类的非私有成员(成员变量,成员方法)
                2、子类不能继承父类的构造方法,但是可以通过super关键字来调用父类的构造方法。
                3、不要为了获取部分功能,而去使用继承。(程序员都是项目经理他爹)

        继承中子父类间的成员关系:
                成员变量:
                       
                构造方法:
                        this:代表(本类)当前对象的引用。
                        super:代表当前对象父类的引用。(super的父类的内存空间标示)
                                为什么子类的构造方法前默认都有一行super()去调用父类的无参构造?
                                        用于子类对象访问父类数据前,对父类数据进行初始化,并没有创建父类对象。

                        每一个构造方法的第一行代码默认都是:super();  为什么呢?
                                因为子类继承类父类,就有可能来使用父类中的数据,
                                所以在初始化子类的数据前,必须先对父类中的数据进行初始化。

                        所有的类都直接或间接继承自Object类。Object类中只有一个空参构造。

                        父类没有空参构造怎么办?
                                1、super(参数)  来调用父类的带参构造。
                                2、this(参数)   来调用本类的其他构造。
                                注意:super()或者this()语句必须出现在构造方法的第一行。

                        this和super能同时出现在构造方法中吗?

                成员方法:
               
               

6 个回复

倒序浏览
就不能把格式整好点啊,复制粘贴就没意思了!
回复 使用道具 举报
不错,不错
回复 使用道具 举报
太棒,了 赞一个
回复 使用道具 举报
看起来好像很吊的样子
回复 使用道具 举报
用心整理一下,与人方便么。谢谢了。
回复 使用道具 举报
旦夕 中级黑马 2015-8-30 23:06:27
7#
谢谢分享~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马