黑马程序员技术交流社区

标题: 笔记---代码块 [打印本页]

作者: 潘耿威    时间: 2016-3-27 23:39
标题: 笔记---代码块
代码块:
        被{}包起来的代码,就是代码块

        分类:
                局部代码块
                        在方法中,被{}括起来的部分,作用,缩短变量的生命周期,及早释放内存
                构造代码块
                        在类中方法外,每次在调用构造方法之前,都会先调用构造代码块的内容
                静态代码块
                        在类中方法外,加上static,在加载类的时候调用一次,优先于构造方法执行
                //同步代码块


继承: extends
        让类与类之间产生关系,形成子父类的关系

        定义格式:
                class 子类 extends 父类 {
                       
                }

        继承的好处与弊端:
                好处:
                        1、提高代码复用性,代码少了
                        2、提高代码的可维护性,代码好改
                        3、让类与类产生关系,是多态的前提
                弊端:
                        耦合性增强

                开发原则:
                        高内聚,低耦合
                        内聚:自己完成一件事情的能力
                        耦合:类与类之间的关系

        java中的继承特点:
                1、只支持单继承,不支持多继承,支持多层继承,形成继承体系
                2、如果想用体系的所有功能,就用最底层的类
                        如果想知道体系的共性功能,就查看最顶层的类

        使用继承的注意事项:
                1、不能继承私有的;
                2、不能继承构造方法; super
                3、符合 is a的关系的时候,才使用继承,不要为了部分功能而继承


        this和super区别:
                1、this是本类当前对象的引用
                        super是当前对象父类的引用
                2、this访问成员变量,既可以访问本类的,也可以访问父类的
                        super只能访问父类的成员变量


        继承中构造方法之间的关系:
                子类的构造方法默认会访问父类的空参构造

        构造方法的注意事项:
                1、如果父类中没有空参构造,怎么办,答:访问父类的有参构造
                        两种访问方式:
                                super(String name, int age);

                        public Dog() {
                                this(name,age);
                        }

                        public Dog(String name,int age) {
                                super(name,age);
                        }
                                this(String name,int age)
                2、super语句和this语句必须在构造方法的第一行


        继承中成员方法之间的关系:
                1、如果你的子类里面没有和父类中的方法重名的方法,子类对象可以直接调用父类的成员方法
                        如果子类中有和父类中重名的方法,子类对象使用的是子类的成员方法

                2、super
                        1、super访问父类的成员变量
                                super.变量
                        2、super访问父类的构造方法 super();
                        3、super访问父类的成员方法 super.成员方法()

                3、重写       
                        override

        继承中成员方法的重写:
                在子父类中出现了一模一样的方法

        方法重写的注意事项:
                1、父类中私有的方法不能被重写,因为子类无法继承父类的私有方法;
                2、在重写的过程中,子类方法的权限不能小于父类方法的权限
                3、静态只能覆盖静态,静态不能覆盖非静态,非静态也不能覆盖静态

        重写和重载的区别:
                重写,override,子父类中出现了一模一样的方法声明,方法体可以不一样
                重载,overload,在同一个类中,方法名相同,参数列表不同,与返回值类型无关


final关键字:
        1、修饰类,类不能被继承;
        2、修饰方法,方法不能被重写;
        3、修饰变量,变量就变成了常量,只能赋值一次;
                public static final int MINITES_PER_HOUR = 60;

                1 * MINITES_PER_HOUR * ASDFASDF


        final修饰局部变量:
                1、基本数据类型,值不能改变
                2、引用数据类型,地址不能改变,但是地址所指向的对象的属性可以改变
                        final int[] arr = new int[3];

        final修饰的变量初始化时机:
                1、显示初始化;
                2、构造方法完成之前




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