结果显示:
2.静态方法内部不能调用非静态数据成员
3.
使用this关键字结果就正确了 this当前对象的引用
4.当没有提供构造方法时 编译器会自动提供一个不带参数的构造方法
但是当有的时候 就会实施构造方法
对象的产生有两个过程
- 为对象分配内存空间
- 调用合适的构造方法 (构造方法不止一种)
构造方法无返回值
5.this代表当前对象的引用 不代表当前对象
构造方法走完后才产生对象 但是在构造方法中this就是当前对象的话就产生矛盾 所以this是当前对象的引用(为对象分配内存)
如果代表对象 对象的产生需要两个过程(如上)
构造方法可以重载
7.静态代码块只执行一次且最早被执行
静态代码块中不能有非静态成员
8.向上转型 把子类对象赋值给父类引用
但是父类引用只能访问父类自己的特征无法访问子类的
当子类重写父类方法时会发生运行时绑定此时父类可以调用子类的重写方法
运行时绑定:父类引用 引用子类对象 同时通过父类引用调用同名的重写方法会发生运行时绑定
在构造方法中调用重写方法也会发生运行时绑定
9.重写的注意事项
1)重写的方法不能被final修饰
2)重写的方法不能被private修饰
3)重写中子类的访问修饰限定符必须大于等于父类的
4)重写的方法不能被static修饰