面向对象知识点整理(3)

 

关键字

 

 

1.this

this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。

作用

a.实现构造方法之间的调用

this(参数列表)

b.解决成员变量与局部变量的同名问题

this.成员变量

 

 

2.super

super可以理解为是指向自己超父类对象的一个指针,而这个父类指的是离自己最近的一个父类。

作用

a.调用父类的构造方法

super(参数列表)

b.直接引用父类的成员

super.xxx

 

注意事项

1.子类构造方法中有一句隐式的super();

2.当父类中没有空参数构造方法时,子类的构造方法必须有显示的super语句,指定要访问的父类有参数构造方法。(最好在类中写一个空参构造防止报错);

3.在构造方法中super 和 this 不能  同时显式  调用;因为两个关键字都要放在第一行

若果构造方法中第一行用this()调用了其他构造方法,此时super()的隐式调用不存在了;

4.this()和super()都指的是对象,所以,均不可以在static环境中使用。

 

3.static

概念

static它是静态修饰符,一般用来修饰类中的成员。

特点

1. 被static修饰的成员变量属于类,不属于这个类的某个对象。(在静态区内,先于对象加载)

也就是说,多个对象在访问或修改static修饰的成员变量时,其中一个对象将static成员变量值进行了修改,其他对象中的static成员变量值跟着改变,即多个对象共享同一个static成员变量

2.static修饰的成员可以并且建议通过类名直接访问。

注意事项

1.静态只能访问静态(秦始皇不知道MZD)

2.静态中不能使用this和super (在静态区内,先于对象加载

3.被静态修饰的方法可以被子类继承,但是无法被重写,如果强行重写相当于子类独有的方法

 

 

4.final

概念

final是个修饰符,它可以用来修饰类,类的成员,以及局部变量。不能修饰构造方法。

特点

 

1.final修饰类不可以被继承,但是可以继承其他类。

 

2.final修饰的方法不可以被子类重写,但父类中没有被final修饰方法,子类重写后可以加final。

 

3. final修饰的变量称为常量,这些变量只能赋值一次。而且终身不变。

 

4.引用类型的变量值为对象地址值,地址值不能更改,但是地址内的对象属性值可以修改。

 

5.修饰成员变量,需要在创建对象前赋值,否则报错。(当没有显式赋值时,多个构造方法的均需要为其赋值。)

 

 

 

 

 

posted @ 2019-05-22 10:49  LiuXiaoZhang  阅读(150)  评论(0编辑  收藏  举报