对象
- 对象就是一个类的实例,每个对象有自己独有的特征和行为即属性,方法;
- JVM执行main()函数,在栈内存中开辟一个空间,在堆内存中也开辟一个空间,
- new一个类,产生一个对象,会在堆中初始化属性,并产生一个地址
- 在栈中产生一个类类型变量,指向相应的对象地址,
- 匿名对象:适用于一次对象的使用;保存与栈中,没有数据;匿名对象调用属性无意义,调用方法有意义
输出对象时会自动调用toString方法(没有重写toString,则输出类名+地址hashcode)
类
类就是有特定作用一类人的抽象概念,有自己的核心技术即不能让别人使用,和方法流程
- 类名首字母大写
- 封装了属性、方法即行为,特征
变量
局部变量,实例变量
- 作用范围不同
- 重名时,局部变量优先于实例变量,所以this
- 实例变量会默认初始化,在堆中随着类的存在而存在;局部变量在栈中
- 要先赋值才能参与运算操作
方法
- 有权限访问修饰符,返回值类型和方法名(形参列表)
- 重写:主体不一样
- 重载:参数、主体不一样;只是参数不同并不能构成方法的重载
构造方法
- 默认有无参构造器
- 有了有参构造器,就不会有默认构造器
- this、super、放在第一行
