this关键字:1.区分成员变量和同名局部变量
2.构造里面可以调用其他的构造函数this();
访问修饰符:
public:公共的:无论内部或外部都能访问;
protected:受保护的;
default:默认的;
private:私有的,只有在该类的内容才能访问。
封装:主要是针对成员变量的封装
封装的实现:
通过访问修饰符的限制实现;
把成员变量设置为私有的,并且为成员变量提供共有的set和get方法进行对外访问。
构造方法:
实例化类对象用的方法
通过new关键字的调用,在内存中创建空间,把空间内存地址指向实例化对象。
构造方法可以定义多个:
如果没有定义构造方法的话,系统会提供一个默认的构造方法
如果用户自己定义的构造方法,系统则不再提供构造方法。
析构方法:
释放对象空间的。
GC垃圾回收机制在回收资源之前调用。
一般情况下,不用处理,系统会自动调用。
面向对象继承:
继承:
继承范围:
1.成员变量能够被继承(private除外);
2.成员方法能够被继承(private除外);
3.构造函数不能被继承。
访问修饰符:
public : 公共的访问修饰符
不限制,别的地方都能访问;
protected: 受保护的访问修饰符
同一个类,同一个包中,不同包的子类中能够访问;
缺省/默认:default(一般不写)
同一个类,同一个包中
private : 私有的,只有在同一个类内部才能被访问;
super:关键字
1.子类可以通过super()方法调用父类构造函数;
2.通过super关键字调用父类成员变量;
3.通过super关键字调用父类成员方法。
this:关键字
1.在本类中通过this()方法调用构造函数;
2.区别名称相同成员变量和参数;
3.调用本来中的方法。
封装:
通过访问修饰符来实现对成员变量的封装:
1.把成员变量私有化,private类型;
2.通过它的set和get方法提供对外访问方式。
多态:
1.编译时多态
方法的重载:
1.在同一个类中
2.除了参数不同,其它都相同
2.运行时多态
方法的重写:
1.存在继承关系的父类和子类之间
2.方法的名称,参数,返回值类型一致,访问修饰符大于等于父类的访问修饰符
向上转型:
重写方法的调用,根据你new对象来确定,new的是哪个类的构造函数,就调用哪个类的方法。
instanceof:关键字
作用:比较当前对象和目标类型是否一致.
boolean result = obj instanceof Object;
方法的重载和重写的区别:
从方法声明角度(格式):
重载的两个函数参数列表不同
覆盖的两个方法参数列表和返回值相同
从所处位置角度(位置):
重载的两个方法在同一类中
覆盖的两个方法在有继承关系的两个类中
从方法调用角度(使用):
重载的方法被同一对象使用不同的参数调用
覆盖的方法被不同对象使用相同参数调用
从多态时机角度(特性):
重载的方法在编译时多态
覆盖的方法在运行时多态