对象

  • 对象就是一个类的实例,每个对象有自己独有的特征和行为即属性,方法;
  • JVM执行main()函数,在栈内存中开辟一个空间,在堆内存中也开辟一个空间,
  • new一个类,产生一个对象,会在堆中初始化属性,并产生一个地址
  • 在栈中产生一个类类型变量,指向相应的对象地址,
  • 匿名对象:适用于一次对象的使用;保存与栈中,没有数据;匿名对象调用属性无意义,调用方法有意义
  • 输出对象时会自动调用toString方法(没有重写toString,则输出类名+地址hashcode)

  • 类就是有特定作用一类人的抽象概念,有自己的核心技术即不能让别人使用,和方法流程

  • 类名首字母大写
  • 封装了属性、方法即行为,特征

变量

局部变量,实例变量

  • 作用范围不同
  • 重名时,局部变量优先于实例变量,所以this
  • 实例变量会默认初始化,在堆中随着类的存在而存在;局部变量在栈中
  • 要先赋值才能参与运算操作

方法

  • 有权限访问修饰符,返回值类型和方法名(形参列表)
  • 重写:主体不一样
  • 重载:参数、主体不一样;只是参数不同并不能构成方法的重载

构造方法

  • 默认有无参构造器
  • 有了有参构造器,就不会有默认构造器
  • this、super、放在第一行