super和this的查找关系:
Super用于查找父类和超类可访问权限的元素,私有的不可以访问,this可以用于访问本类的方法和变量,包括私有属性;也可以访问父类的可访问权限,不可以访问父类的私有属性
非静态变量不能够被静态方法引用
非静态成员只能实例化对象后,通过实例化对象使用
Int和integer类型的区别,java为什么要设置封装类:
Integer身为int的封装类,初始值是null,int是8大基本数据类型之一,初始值是0;
补充:八大基本数据类型(byte, short, int, long, float,doublt,)
integer因为是一个类对象,存储与堆内存当中, int是基本数据类型,存储与栈空间中
Integer是一个对象,它封装了许多的方法和属性,使我们使用时更加灵活
为什么要设置封装类:java是一门面向对象的语言,一切都是以面向对象为基础的,如集合(ArrayLIst、HashMap)里的元素,只支持object类型,普通(基本)数据类型是无法通过集合进行存储的,并且安全性比较好。
什么是多态:
向上转型:父类引用指向子类对象。
向下转型:由原来得指向子类的父类引用,转化成相应的子类引用
多态:方法或对象具有多种形态,是OOP的第三大特征,建立在继承和封装之上
多态的具体体现
- 方法多态:重写,重载体现多态
- 对象多态:对象的运行类型是可以变化的,可以通过getClass()来查看运行类型;对象的编译类型和运行类型可以不一致,编译类型在定义时就确定了,不能在发生变化;编译类型看=号左边,运行类型看=右边。
多态的前提一定是两个类存在一定的继承关系
继承的本质:
当子类对象创建好之后,建立查找关系