java中的类

  • 类,具有相同特征的一类事务的描述,对现实事务的抽象定义,是一个模板
  • 对象,类的具体实现,也称实例
  • 类的三方面:
    • 封装,体现给属性和方法设成私有和保护类型来保护数据
    • 继承
    • 多态
    • 抽象(对象中产生类),不属于三方面,属于总的概括
  • 类的组成,
    • 属性,成员变量,类中使用属性来描述事务的特征
      • 构成,修饰符,类型,变量名
    • 方法,成员方法,类中使用方法来描述事务的行为
      • 构成,修饰符,类型,方法名
    • 构造方法,类中没有构造器就会产生默认无参构造器,
      • 特点
        • 方法名和类名一致,构造方法名是唯一允许首字符大写
        • 无返回值,甚至连void也没有
        • 不能被abstract,static,synchronized,native… 修饰
        • 不能像普通方法一样随意调用
      • 注:
        • 什么也不做,类中自己调用用this来代替,
        • 每个类都有构造器。(自动添加或者手动添加)
        • this必须为第一个语句。(若包含的化)
        • 全参构造器,参数为全部属性的构造器
        • 无参构造器,没有参数的构造器
        • 子类不继承父类的构造器
    • 块,静态块和实例块
    • 内部类,在内部声明的类
  • 学习面向对象的三条主线
    • java类号类成员
    • 面向对象的三大特征
    • 其他关键字,new,break,continue,package,import,等
  • 类的区别,
    • new()则生成一个新对象,成员变量new的时候虚拟机会初始化其中的成员变量,可以进行显式赋值,int不显式赋值则初始化为零,String不赋值则为null,引用类型不赋值则为null。
    • 对象名为引用类型,存的是存放对象的地址,大小取决于jvm的位数,或可称之为引用变量
    • 引用变量互相赋值,被覆盖的地址会被回收,即,对象实际地址不变,赋值会改变引用变量存储的地址
  • 内存,对象在堆中,引用变量在栈中,
    • 栈,Stack,方法调用
    • 堆,Heap,创建对象
      • 方法区/永久区(jvm运行期间不变)
        • 类模板,方法等
      • gc区,对象创建,分配数据空间
        • gc管理器,要负责清理无用的对象(没有引用的对象)
  • 对象的创建过程
    • 在堆方法区中检查要创建对象的类模板
    • 如果不存在,则加载类模板
    • 如果存在,则不加载,保证类模板只有一个
    • 依据类模板中属性的定义,在gc区中开辟空间
    • 把此空间初始化,全部清为零,String为null
    • 如果属性有显式赋值,则赋值
    • 执行构造方法,入栈执行,执行完
    • 返回对象地址
    • 调用对象方法,方法名入栈,指向堆中的方法区
  • new(),给给对象在堆里(gc管理区)开辟内存空间;
  • this,代表本对象,直接加()为构造函数,不能随意调用,this.为本对象成员,可以调用属性和方法,一般在set给成员变量赋值时使用。区别变量名使用。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值