1.this 代表的对象只能是当前类,哪一个对象调用this,this就代表谁 (就是一个对象的 方法依赖于另一个方法,一个对象的成员直接调用一个成员)
static修饰 的方法不能使用this引用,如果使用this,则this不能指向合适 的对象
2.方法重载:
同一个类多个同名方法,只关注参数列表不同就行【不使用返回值类型作为区别的依据是如果参数列表一样,一个返回值类型是int,一个是void,而后直接方法时,系统也会模糊】
3.成员变量和局部变量:
成员变量:类范围内的变量,实例、类变量
局部变量:方法里面,形参、方法局部变量、代码块局部变量 【一般栈内存】
ps:实例访问类变量,修改的仍是类的类变量。
成员变量无需初始化,但是局部变量需要初始化
使用成员变量:(1)类或实例共有的信息:眼睛 的个数----类成员变量;人的身高等-----实例成员变量
(2)类或实例的运行时状态
4.private :当前类的访问权限
default: 包访问权限
protected:子类访问权限 {同包中,不同包子类}
5.继承:
子类不能获得父类的构造函数
重载(覆盖):方法名一样,而参数列表也一样,子类方法的返回值类型应比父类方法返回值类型小
在子类调用父类被覆盖的方法时,要用super
6.
父类:1 成员变量 子类:1,成员变量
2 方法
3方法 3,方法
4. 方法
父类 ni=new 子类(); 向上转型 ,左边是编译类型,右面是运行类型
ni.1-----------父类,【成员变量看左边,父类】
ni.2()-----------从父类继承的 【方法看右边】
ni.3()-----------子类自己的
ni.4()------------编译报错
7.final:类------不能继承;方法:不能重写
abstract:类 -----只能继承;方法:必须重写