84°

类、变量、封装

  成员变量 局部变量
类中方法外 方法内或者方法声明上
内存 堆内存 栈内存
生命周期 随着对象的存在而存在,随着对象的消失而消失 随着方法的调用而存在,随着方法的调用完毕而消失
默认值

有默认值

没有默认值,必须先定义,赋值,才能使用

匿名对象

        没有名字的对象;是对象的一种简化表示形式(new 对象())

        两种使用情况

                 对象调用方法仅仅一次的时候

                 作为实际参数传递

封装

        隐藏对象的属性和实现细节,仅对外提供公共访问方式

        优点 隐藏实现细节,提供公共的访问方式

                  提高了代码的复用性

                 提高安全性

        原则

                 将不需要对外提供的内容都隐藏起来

                 把属性隐藏,提供公共方法对其访问

构造方法

        给对象的数据进行初始化

        格式: 方法名与类名相同;没有返回值类型,连void都没有

        注意事项: 不提供构造方法,系统会给出默认的构造方法

                           提供构造方法,系统将不再提供

                           构造方法可以重载

类的初始化过程

        Demo d = new Demo();

        1 加载Demo.class文件进内存

        2 在栈内存为d开辟空间

        3 在堆内存为Demo对象开辟空间

        4 对Dmeo的成员变量进行默认初始化

        5 对Demo的成员变量进行显示初始化

        6 通过构造方法对成员变量进行赋值

        7 初始化完毕,把对象地址赋值给d变量

 

变量什么时候定义为成员变量

        如果这个变量是用来描述这个类的信息,该变量就应该定义为成员变量

变量定义的范围

        越小越好,因为能及时的被回收

Static关键字

        1 可以修饰成员变量和成员方法

        2 随着类的加载而加载

        3 优先于对象存在

        4 被类的所有对象共享

        5 可以通过类名调用

        6 存在于方法区的静态区

注意事项

        在静态方法中时没有this关键字的

        静态方法只能访问静态的成员变量和静态的成员方法

  静态变量 成员变量
所属 属于类,也称为类变量,对象的共享数据 属于对象,也称为实例变量(对象变量),对象的特有数据
内存 方法区的静态区
生命周期 随着类的加载而加载,随着类的消失而消失 随着对象的创建而存在,随着对象的消失而消失
调用 可以通过类名调用,也可以通过对象调用

只能通过对象名调用

 

public static void main(Sting[] args){}

        public被JVM调用,访问权限足够大

        static被JVM调用,不用创建对象,直接类名访问

        void 被JVM调用,不需要给JVM返回值

        main 一个通用的名称,不是关键字,但是被JVM识别

        string[] args 以前用于接收键盘录入的数据

  本类 同包 同包 不同包 不同包
    子类 其它类 子类 其它类
private        
默认    
protected  
public

 

本文由【凹凸凸】发布于开源中国,原文链接:https://my.oschina.net/u/2954646/blog/3071846

全部评论: 0

    我有话说: