java面向对象之_类Class

来源:互联网 发布:pptv网络电视官网 编辑:程序博客网 时间:2024/06/05 16:48
一、成员变量&局部变量     成员变量和局部变量的区别(理解)    (1)在类中的位置不同        成员变量:类中方法外        局部变量:方法定义中或者方法声明上    (2)在内存中的位置不同        成员变量:在堆中        局部变量:在栈中    (3)生命周期不同        成员变量:随着对象的创建而存在,随着对象的消失而消失        局部变量:随着方法的调用而存在,随着方法的调用完毕而消失    (4)初始化值不同        成员变量:有默认值        局部变量:没有默认值,必须定义,赋值,然后才能使用二、形式&实际参数    java 方法的实际参数:方法被调用时候,用于接收外部值的参数。                形式参数:方法在声明时的参数     (1)形参代表一个合集,具有不确定性,而形参代表一个独立事物,具有确定性(即使是为null)。也就是说,形参不能代表具体的对象,只能代表这些对象共同的属性(比如超类、各种其他自定义属性等等),而实参则是具体的对象(比如超类的实例)    (2)形参的值在调用时根据调用者更改,实参则用自身的值更改形参的值三、代码块(1)用{}括起来的代码。    (2)分类:        A:局部代码块            用于限定变量的生命周期,及早释放,提高内存利用率。        B:构造代码块            把多个构造方法中相同的代码可以放到这里,每个构造方法执行前,首先执行构造代码块。        C:静态代码块            对类的数据进行初始化,仅仅只执行一次。    (3)静态代码块,构造代码块,构造方法的顺序问题?        静态代码块 > 构造代码块 > 构造方法    静态代码块优先于对象存在,它定义在方法区四、构造方法    (1)作用:用于对对象的数据进行初始化        (2)格式:            A:方法名和类名相同            B:没有返回值类型,连void都不能有            C:没有返回值            思考题:构造方法中可不可以有return语句呢?            可以。而是我们写成这个样子就OK了:return;            其实,在任何的void类型的方法的最后你都可以写上:return;        (3)构造方法的注意事项            A:如果我们没写构造方法,系统将提供一个默认的无参构造方法            B:如果我们给出了构造方法,系统将不再提供默认构造方法                如果这个时候,我们要使用无参构造方法,就必须自己给出。                推荐:永远手动自己给出无参构造方法。        (4)给成员变量赋值的方式            A:setXxx()            B:带参构造方法五、成员方法        成员方法是可以理解为定义的某一种功能,把功能封装在方法里面,我只要拿到该方法直接调用实现了功能即可,具体内部怎么实现不需要知道    方法定义格式 : public static 返回值类型 方法名(参数类型 变量名1,参数类型2, 变量名2,...)六、权限修饰符    private/public / protected    私有  公有      受保护的        private成员无法被子类,外界访问,这样保证了private成员的安全性    public成员,公有的的修饰符,外界可以直接访问    protected成员只能被自己的以及子类(直接或者间接)以及兄弟(同package包中)访问,无法被"外姓人"访问七、static关键字    static关键字(理解)        (1)静态的意思。可以修饰成员变量和成员方法。        (2)静态的特点:            A:随着类的加载而加载            B:优先与对象存在            C:被类的所有对象共享                这其实也是我们判断该不该使用静态的依据。                举例:饮水机和水杯的问题思考            D:可以通过类名调用                既可以通过对象名调用,也可以通过类名调用,建议通过类名调用。        (3)静态的内存图            静态的内容在方法区的静态区        (4)静态的注意事项;            A:在静态方法中没有this对象            B:静态只能访问静态(代码测试过)        (5)静态变量和成员变量的区别            A:所属不同                静态变量:属于类,类变量                成员变量:属于对象,对象变量,实例变量            B:内存位置不同                静态变量:方法区的静态区                成员变量:堆内存            C:生命周期不同                静态变量:静态变量是随着类的加载而加载,随着类的消失而消失                成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失            D:调用不同                静态变量:可以通过对象名调用,也可以通过类名调用                成员变量:只能通过对象名调用        (6)main方法是静态的            public:权限最大            static:不用创建对象调用            void:返回值给jvm没有意义            main:就是一个常见的名称。            String[] args:可以接收数据,提供程序的灵活性八、this关键字    (1)代表当前类的引用对象        记住:哪个对象调用方法,该方法内部的this就代表那个对象    (2)this的应用场景:        A:解决了局部变量隐藏成员变量的问题        B:当子类访问父类的show方法时 super.show()
0 0